Christopher Allan Webber

syncbot, a little irc bot to test out 8sync

Christopher Allan Webber at

So I mentioned that I've been hacking on 8sync, an asynchronous programming library for Guile. Of course, it's not a good networking-related library unless it has an IRC demo. So it comes with all the tools to build an irc bot, including one you can launch in demos/ircbot.scm

I've got a little IRC bot that I'm testing out in #8sync and #guile on irc.freenode.net. Mostly, it just says dumb things:

<paroneayea> syncbot: hello!
<syncbot> Oh hi paroneayea!
<paroneayea> syncbot: botsnack
<syncbot> Horray! A delicious banana!
<paroneayea> syncbot: botsnack
<syncbot> Horray! A delicious tapioca pudding!
<paroneayea> syncbot: botsnack
<syncbot> YESSSSSS *nom nom nom nom nom*
<paroneayea> syncbot: botsnack
<syncbot> :D :D :D
<paroneayea> syncbot: help
<syncbot> I can't help you... I can't even help myself!
<paroneayea> syncbot: botsnack
<syncbot> oh boy! oh girl! oh arbitrary-gender-exclamation!
<paroneayea> syncbot: botsnack
<syncbot> *catches botsnack in midair*

Though you could also use it to run a Fate game:

<paroneayea> syncbot: roll-fate
<syncbot> paroneayea: Rolling at 0: [-] [-] [_] [-] -> -3!  (it's... really
          not good...)
<paroneayea> syncbot: roll-fate
<syncbot> paroneayea: Rolling at 0: [_] [_] [-] [_] -> -1!  (poor)
<paroneayea> syncbot: roll-fate
<syncbot> paroneayea: Rolling at 0: [+] [+] [-] [+] -> 2!  (fair)
<paroneayea> syncbot: roll-fate 3
<syncbot> paroneayea: Rolling at 3: [-] [-] [_] [-] -> 0!  (mediocre)

What's also nice is that it's totally live-hackable. You can connect to a running process live in emacs using the "M-x connect-to-guile" geiser feature and add features on the fly. All the extensions I wrote to the syncbot code were done while the thing was running. It's an incredible way to develop.

(What's next? Maybe a MUD?)

Sean Tilley, Arne Babenhauserheide, Jason Self, Charles Stanhope likes this.

Arne Babenhauserheide, David Thompson shared this.