/freenode-main.rkt

http://github.com/elibarzilay/rudybot · Shell · 34 lines · 25 code · 4 blank · 5 comment · 0 complexity · efb2ebd0e42ce7a408195eeee4a1a582 MD5 · raw file

  1. #! /bin/sh
  2. #| Hey Emacs, this is -*-scheme-*- code!
  3. exec racket -l errortrace --require "$0" --main -- ${1+"$@"}
  4. |#
  5. #lang racket
  6. (require "loop.rkt"
  7. (except-in "vars.rkt" log)
  8. "git-version.rkt"
  9. (except-in "clearenv.rkt" main)
  10. (only-in "servers.rkt" real-server)
  11. (only-in "userinfo.rkt" *userinfo-database-directory-name*)
  12. (only-in "iserver.rkt" make-incubot-server))
  13. (define (main . args)
  14. (clearenv)
  15. (command-line
  16. #:program "rudybot"
  17. #:once-each)
  18. (log "Main starting: ~a" (git-version))
  19. (parameterize* ([*irc-server-hostname* "irc.freenode.org"]
  20. [*irc-server-port* 6667]
  21. [*userinfo-database-directory-name* "userinfo.db"]
  22. [*incubot-logger* log]
  23. [*incubot-server* (make-incubot-server "parsed-log")]
  24. [*nickserv-password* (get-preference '|rudybot-freenode-nickserv-password|)])
  25. (if (*nickserv-password*)
  26. (connect-and-run real-server)
  27. (error 'freenode-main "You didn't specify a NickServ password"))))
  28. (provide (all-defined-out))