JIBOT: A Ruby IRC Bot For #joiito
Version 2.0 (Today, 2008)
|Authors||James Cox (email@example.com)…|
|Copyright||Copyright © 2008 + The #joiito IRC Channel + James Cox|
|License|| Distributed under the same terms as Ruby. The system heavily relies on Autumn, an irc framework: http://github.com/riscfuture.
Portions of this code are copyright ©2004 David Heinemeier Hansson; please see libs/inheritable_attributes.rb for more information.
Autumn is a full-featured framework on top of which IRC bots (called “leaves”)
can be quickly and easily built. It features a very Ruby-like approach to
bot-writing, a complete framework for loading and daemonizing your bots,
multiple environment contexts, a database-backed model, and painless logging
Autumn requires RubyGems and the Daemons and Facets*
gems. Install RubyGems then run
sudo gem install daemons facets in a command
line in order to run Autumn.
Jibot requires the ruby-sqlite3:
sudo port install rb-sqlite3 the sqlite gem:
sudo gem install -v 0.9.2 do_sqlite3 and the Datamapper
sudo gem install -v 0.9.2 install dm-core dm-ar-finders .
One person’s install notes on OS/X Leopard:
On a fairly stock leopard system it was also necessary to add a few steps… this which in which ssh-keygen creates the .ssl folder and public key to provide the github website.
Then to make logging in easier by adding the login to the keychain:
$ /usr/bin/ssh-add -K
To install git follow
Or just use the precompiled one from
Macintosh:~ myhomedir$ git config —global user.name ‘Firstname Lastname’
Macintosh:~ myhomedir$ git config —global user.email ‘firstname.lastname@example.org’
Created a spot and got a clone:
Macintosh:~ myhomedir$ cd src
Macintosh:src myhomedir$ git clone git://github.com/imajes/jibot.git
RubyGems was already installed on Leopard so I ran the
sudo gem install daemons facets above.
Before I could run the
sudo port install rb-sqlite3 however it was necessary to install macports
Then continue by running
Macintosh:~ myhomedir$ sudo /opt/local/bin/port install rb-sqlite3
and it took awhile to come back… updated a lot of packages.
Extlib was missing so this was necessary:
Macintosh:~ myhomedir$ sudo gem install -v 0.9.2 extlib
Successfully installed extlib-0.9.2
1 gem installed
Then following the advice in README.autumn – had to modify jibot/config/global.yml to point to testing season instead of production.
Modify jibot/config/seasons/testing/stems.yml to point to a different nick and channel to avoid stepping on the other jibots.
Had to manually create a log file in the jibot directory before rake would work.
Macintosh:jibot myhomedir$ mkdir log
Macintosh:jibot myhomedir$ rake db:migrate
Usage: DB=[Database config name] rake db:migrate
(See full trace by running task with —trace)
Macintosh:jibot myhomedir$ script/server
Loading Autumn 3.0 (7-4-08)
Freenode (Stem): Connecting to chat.freenode.net:6667…
You should peruse README.autumn first, to get a feel for how it’s structured.
Then, feel free to hack on a leaf (or create your own) to add or augment bot