sIRCB is a highly advanced Ruby based IRC bot. It features (among others) a trivia game, a quoting system, nick and host based in-server administration, whois checking, linking two or more bots in a botnet, and a PHP based web administration interface.
sIRCB has an advanced PHP based web administration interface which can modify all aspects of the bot, including hard-coded configuration files and will also connect to the bot itself and issue commands to it. The interface includes a user menu as well as an administration menu, and people can register and submit questions for inclusion in the trivia game, quotes (which can also be added using in-server commands), and possibly the ability to submit help files for inclusion in the bots help system.
The administration interface has pages for checking and accepting/rejecting the submitted questions and help files. These accepted questions/files are then flagged as accepted in the bots MySQL based database and the administrator can then choose to rebuild the updated trivia file from the database, write specific accepted help files to disk, and rebuild the help index based on the directory structure in the ./help/ directory in the bots home directory.
Here are some key features of "sIRCB":
· Trivia game with scoring and top10 lists which can be tied into one or several channels, so the scores in one set of channels on a network are independant from the scores for another set of channels
· A "LINK" command which allows several instances of the bot to connect to each other regardless of whether they're on the same network or not in order to issue commands to the bots to execute en mass or to allow communication with users on another network without having to join it.
· A notes and memos system similar to that of MemoServ on some services which allows users to send notes to each other which they will receive the next time the person joins a channel which the bot is in.
· Dynamic command system which allows channel operators to enable/disable commands and set levels for their use on a per channel basis. If a command is not set, it reverts to the global defaults which are editable from the PHP web interface. Channel operators can then specify which users they wish to have what level of access. The information on who is a channel operator comes from ChanServ's ACCESS LIST command. This data is cached and is updated automatically on joining the channel, and also on request from existing chanops.
· Seen and extended seen databases allowing people to check the last things said/done by a nick as well as their hostmask, channels they've been seen in, and nicks they have recently been seen changing to/from.
· Dictionary lookup command which allows users to get definitions on words in channel.
· DNS resolver allowing people to convert hostmasks to IP addresses and vice versa.
· Time and date functions with optional GMT offset.
· the Ruby interpreter
Installing and Configuring
At the moment, there is no installation script as it's not needed.
· Configuring the bot
sIRCB has been written to be as easy as possible to use. An example configuration file (named 'example.rb') has been included in this distribution. It is well commented, and is quite easy to understand. It is suggested that you copy this file to another name, e.g. 'mybot.rb' and edit its contents.
· Running the bot
sIRCB currently has no commandline options. To start the bot, type 'ruby mybot.rb'. If you wish to start the bot in the background, type 'ruby mybot.rb &', but be warned that it does send a lot of data to stdout.