Bot features (laste update : 2009-08-16) ============ * Multiservers bot * Anti "Excess-flood" system : if the bot send datas too fast, it will control output flow to be sure to NEVER be killed by the server for "excess-flood" * Anti-flood system : protects the bot from flood commands (users who request to many actions from the bot) * Plugin management : load or unload plugins that stores (in .so files) functions to add functionnalities. It extends the bot capabilities to infinity :p. Thoses plugins can be loaded and unloaded while the bot is running ! Dependances between plugins are managed * Timeout system : if a command take too many time to execute, the kernel kills it, to avoid crash/freeze * Easy configuration reading/writing system that make easy the way to change and store parameters * Gateway between plugins : all plugins can access to other ones, and share functions * Channel loging * Leveled log system * Commands control : Disalow commands on chans, or allow them on only others * Administrator management * Bot administration :join, part, cycle... * Channel administration : kick,op, autoop, autovoice .... * Channel acces with accounts * Channel topic protector * Channel modes protector * Ban system * Ignore system * CTCP answers * System infos * Services authentification : Nickserv, Q, X * Connection management : detect disconnections * Quotes storage * Bot can retrieve is nick if already in use * Advertising management * flexible features management (hot (un)pluging with modules, but also with functions IN modules) Official plugins ================ * admin : stores (in an xml file) bot accounts (by host) and provides stuff for bot administration. This is one of the most important plugins * advertising : displays advertises on channels * antiflood : protects the bot from flood commands (users who request to many actions from the bot). Drop obsoletes messages * bzrh : provides tools to query bugzilla.redhat.com * ctcp : This plugin answers to CTCP commands (PING and VERSION) * danstonchat : display quotes from danstonchat.com * fedorafr : allow users to search informations on Fedora-fr.org wiki and planet. The bot gives URLs containing search result * fedoraproject : provides tools to retrieve informations about fedora project (packages and fas) * gameserver : provides tools to query game servers (Q3, CS ans WARSOW) * ignore : provides an ignore system that allow the bot to ignore users * infos : give informations about the bot, and the hosting system * ipconverting : provides commands to convert an IP to a Host and a host to all its corresponding IPs * lamoule : manage a ladder for the "lamoule" game * logfactory : logs channels activity * magic8ball : magic 8 ball game (http://en.wikipedia.org/wiki/Magic_8-Ball) * moderation : allows channel's moderation (op, voice, kick,bans etc ...) with acces (if admin plugin is loaded). * module : manage other plugins. This one allows super admins to load and unload plugins while the bot is running (hot (un)pluging) * ping : answers to ping events, and send ping to check connection with the server * pluginsample : Plugin example * postconnect : mamage all actions performed after server connection (join channels, auth to bots, and raw actions) * quotes : stores quotes in a XML file and give access to them * remotecontrol : launch a tcp server to provide remote control (via telnet or gui) (protocol not implemented) * slapme : highlight users to make them remember important things * survey : surveys management (polls) * tele : display french TV program * trad : translate a sentence from a language to an other using translate.google.com * usersinfos : gives functions to follow users modes on channels and keep informations (nick,ident,host,status). Usefull for operator commands and ban masks. This plugin is needed by administration plugins (admin,moderation...) Plugin types ============ All plugins have a timeout. If the execution of a function take more time than this one, the kernel kill the function. A function can be registred or unregistred while bot is running. * Loop plugins : Act periodicaly. You can set a number of seconds to wait between each cycle. Otherwise, the function is called after each socket read * Command handler : Triggered on a command. (command_prefix+command) * Free command handler : Triggered on a command. (no matter the prefix) * Type handler Triggerd on a message type (PRIVMSG, JOIN, QUIT, etc ...) * Before treatment Launched before message's treatment. This plugin can cancel the treatment * All messages Launched for all messages * First word check Triggerd on the first messages's word * Out all messages Launched on all outgoing messages