Autumn: Easy, Feature-Rich IRC Bots in Ruby
Autumn is a framework by Tim Morgan that makes it easy to develop powerful IRC (Internet Relay Chat) bots with Ruby. Version 3, a significant update, was launched just a week ago. The code is available on Github, so it's ready to fork, tweak and work on to your heart's content.
An instance of an "Autumn app" is laid out in a similar way to a Rails app. There are config, doc, script, libs, tmp, and log folders, containing much what you'd expect, as well as a leaves folder (Autumn refers to "bots" as "leaves") that contains any number of folders each containing data, helpers, models, tasks, and "views" for individual bots. A default Autumn app comes with two bots pre-installed called insulter and scorekeeper that you can use to learn from.
Autumn is a pretty significant piece of work and Tim has done an excellent job at documenting it, leaving almost no stone unturned in demonstrating how to create bots / leaves of your own with the framework.
July 15, 2008 at 8:09 pm
I can only recommend this! I tried version 2, which was already great, and allowed me to have my own Bot (with loads of features) within one day. It's really a nice and clean framework, which was fun to use.
July 15, 2008 at 8:10 pm
I wonder how this compares to [Butler](http://butler.rubyforge.org/)? When I looked at 2.x version of Autumn a while back it didn't have anywhere near Butlers chops...
July 15, 2008 at 10:48 pm
Thanks for the writeup! I just wanted to let the curious reader know that I recently checked a new authentication module into the master branch. The docs haven't been updated yet, so if you're just learning how to do Autumn, you will see some discrepancies regarding how to authenticate/protect your bots.
The stable branch contains the old, tried-and-true authentication code, so you can work from there if you don't want to use the newer, greener auth code.
July 17, 2008 at 10:14 pm
Thank you Rob Kaufmann, you just made my day :)
I hope you'll like what butler 2 got in store.
July 18, 2008 at 1:09 am
apeiros: Make sure to post about it on RubyFlow and/or e-mail me when you drop a new version. I might be able to write about that too :)