Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Just what the world needs: another IRC bot
Racket Scheme Other
Latest commit c1b9137 @offby1 Add a funny from johnw
Surprised that wasn't already in there
Failed to load latest commit information.
bugs Can't repro
.gitignore Ignore writeahead-log stuff
.mailmap Add a few entries to .mailmap
AUTHORS Add some entries to AUTHORS
GNUmakefile Fix case of the file name.
README.censor-nasty-words Censoring nasty words sure got easier.
README.irc-servers *** empty log message *** Use "module+ main" ...
README.xlate.language-codes Cheat sheet
TODO Detail about dropping privileges
analyze-quotes.rkt Move most tests into test submodules
clearenv.rkt Comment about (get-ffi-obj 'environ #f _pointer)
cutover.txt Deployment notes
el-buggo Note another bug
elis-log-parsing-ideas.rkt Nix run-tests.rkt; instead, we'll use "raco test ."
eval-trouble Transcript demonstrating annoying new behavior
freenode-main.rkt Use "module+ main" ... compress! Geez, it's a lot faster this way.
git-version.rkt "#lang scheme" => "#lang racket", since racket 5.1.1 on my EC2 was
http.rkt Switch to my url-shortener
info.rkt Omit compilation of files that are not meant to be compiled.
irc-process-line.rkt Don't refer to the functions we just deleted!
iserver.rkt tokens-by-popularity: add DISTINCT clause
lexer.rkt Move most tests into test submodules
line-structure Log sexps instead of strings.
lobster-skeleton.sql Handy example query
loop.rkt Remove dependency on offby1 package Why we pagin' so much?!
quotes Add a funny from johnw
quotes.rkt Use "module+ main" ...
re.rkt Move most tests into test submodules
reloadable.rkt reload-module: spew stack trace when the exception is handled
rudybot.conf Mosty copy what's actually running ...
sandboxes.rkt Move most tests into test submodules
servers.rkt Don't refer to the functions we just deleted!
sighting-test.rkt Move most tests into test submodules
sketch.rkt "#lang scheme" => "#lang racket", since racket 5.1.1 on my EC2 was
sounds Goofy cartoon sound-effects.
spelled-out-time.rkt Whitespace tweaks
tinyurl.rkt Tweak tests to accord with reality
update-sightings.rkt Use "module+ main" ...
userinfo.rkt Move most tests into test submodules
utils.rkt Only catch exn:fail?
utterance.rkt Trying to add a new table that maps words to log entries, but it's
vars.rkt Marginally more-useful defaults
xlate.rkt xlate: specify source language as well as target language.
zdate.rkt Delete broken test revealed by previous commit

If you're just trying the bot out, start it via racket freenode-main.rkt. If you want it to run continuously, and happen to have upstart available (which in practice means you're running Ubuntu), you can copy rudybot.conf to /etc/init and then # start rudybot.

Getting an error about rackunit not being available? That can be caused by using the racket-textual package instead of racket.

Run the tests like this:

$ raco test -x .

Unfortunately, you'll have to pay attention to the output of raco test, since it will likely exit with 0 status even if some of the tests fail. This is IMHO a misfeature of raco test; the Racket developers seem disinclined to change it (see this bug report).

Some specs:

Something went wrong with that request. Please try again.