Bobot++ -- A Flexible IRC Bot

Savannah Project Page


Draft of the Manual (last update: 2005-07-03). This is the current draft and is incomplete. It contains full documentation for configuring and running the bot, full documentation of hooks, and partial documentation of user commands. ScriptCommands.[HC]/Commands.[HC] contain all of the Guile binding code and are useful as documentation.


See the Bobot++ News Page at Savannah (it's just easier for me to keep everything there).

2.2.0 is the current stable release.

Background / Overview

See if you wish (it is the original Bobot++ page).

Bobot++ is the C++ version of the IRC bot bobot written by Etienne Bernard and Bartman. Bobot++ was entirely the work of Etienne Bernard up through version 1.9.7

Bobot++ has many features:

After not being maintained for a while I updated the code to compile cleanly with GCC 3.0 and submitted a patch. The original author was no longer interested in maintaining the bot and I volunteered to do so; I am now the maintainer for Bobot++ 1.98 and above.

I am currently working on 2.2. The work has been slow because of school and work; I appear to have more free time now and will be getting the development branch of the bot into a more usable state (the bot is mostly free from bugs but there are a few missing features). After 2.2 I plan to perform a fairly large rewrite of the bot (it would be foolish to throw away all of the existing code so it will mostly be a restructuring) which will make scripting support mandatory (I may implement stub versions of the Guile procedures in order to allow for versions which do not support scripting) and more powerful. The implementation of the bot right now is fairly messy and things like being connected to multiple networks at once are impossible to support without massive changes to the bot.


NOTICE: If you do not want to use Guile, you must pass --disable-scripting to configure. Configure will fail if you do not do this and don't have Guile installed on your system.

You need Guile Scheme 1.6.x in order to compile Bobot++. 1.7 should work, and 1.4.x will not work. Sorry, but 1.4 is dead now. You need a decent C++ compiler that at least ignores the std:: prefix and has the no .h version of the C++ headers, as well as the c prefixed libc headers. I have tested the code with GCC 2.95, 3.0, 3.1, and 3.2 for Bobot++ 2.0 and 2.1.1. Every version beyond those is now only tested with the current version of GCC in Debian unstable. However, I will not remove any of the backward compatibility hacks in the near future (right now it is basically nothing more than detecting whether the STL uses the old ios class instead of ios_base). I'd like to hear about people compiling and running Bobot++ on other platforms (e.g. [Free|Net|Open|*]BSD, Mac OS X, Cygwin, etc).


Bobot++ is GPL software just like everything else here. Bug reports are welcome. Download the latest version of Bobot++ from the Savannah File Release Area. You can also check out my development tree from CVS (also at savannah).

There is a Gentoo package that tracks the unstable branch, a FreeBSD port that tracks the stable branch, and a Debian package that tracks the stable branch.

Last modified: Tue May 30 13:40:24 EDT 2006