NickBot 1.0.12 is now available!
What is Nickbot?
NickBot is an IRC bot framework written in Perl. It is designed
such that all of the user modules that do the actual data processing are
located in an external file. Each module is run individually inside
of Perl's eval function to keep rouge modules from crashing the entire
bot; plus this gives the user the ability to add/remove/change modules
in the bot without restarting it every time.
How does is work?
NickBot's main program consists of a large number of generic handlers. Each handler takes the information that the Net::IRC module gives it and either responds appropriately (like with a ping request), or it processes it into a generic format. This generic format then goes through a couple more steps to determine things like was the bot addressed, and what type of message came in. At that point, the collected data is passed off to the user modules.
The user modules are what really give NickBot it's flexibility, the
user can go into the modules file and make any number of modules to make
the bot actually do something. Included in the distribution is a
sample modules file that I've created during development to test out the
interface. The bot doesn't do anything spectacular out of the box,
but there's plenty there to see how it works to implement your own functionality.
How can I help?
NickBot is far from done; aside from some internal code changes that
need to be taken care of, there are infinite possibilities for user modules
in NickBot. If you find a bug, fix a bug, or improve the core in
some way, send me a patch! If you write a bot module that you think
others would like to use, send it in to! I'll setup a section on
this site to act as a repository of NickBot modules.
Download:
Stable: nickbot-1.0.12.tar.gz
ToDo:
This list constantly has things going on it and coming off, but if you
have a suggestion for a future release, feel free to e-mail it along.
Contacting the Author:
The easiest way is to e-mail me at nickbot@nickstoys.com