Bobot

http://pltplp.net/bobot++/

The bobot++ is an IRC bot written in C++. This is the evolution of the bobot that I wrote in C with Bartman.

The bobot was a powerful bot, but it was limited to an unique channel, and an unique bot per process. The bobot++ is designed to support as many channels as you want (in the limit of 20 channels, but this limit is set by the servers). Moreover, it will support multithreading easily (all the objects are thread-safe).

Here is a non comprehensive list of the bobot++'s features:

* No backdoor: there is no backdoors in the bobot++. You are free to believe me or not, but unlike many other bots, this one has no backdoor. Note that there is an hidden command, but this command is not designed to take control of the bot, * Multichannel: A bobot++ can join as many channels as you want, * Flood control: It will ignore people flooding it, * Output rate control and priority handling: The bobot++ will send its commands to the server at the highest possible rate (ie as fast as possible without making an ``excess flood''). The most important commands (MODE's, etc.) are sent first, * Time dependant commands: you can ban people for a fixed amount of time. This is really useful in order not to fill the banlist, * Complex online help system: each user can have the list of the commands he can execute. Each command has its description in the help system, * Four user levels (user, trusted user, friend and master), three different protections (no kick, no ban and no deop) and possible auto-op. Note that trusted user is created to permit the use of wildcards on dangerous commands such as kick, or ban, * Support for combined join and channel op of 2.9 servers on IRCNet (this feature will be suppressed from the servers, but it may remain useful...), * Logging of commands and events, * ``Intelligent'' ban and deban, * Password protection on accounts, expiration dates on user accounts, * Anti-spoof: one can not acquire operator priviledges spoofing the bot * optional support of scripts written in Scheme (using guile)