view README @ 134:931a5edc7971

moved commands to a separate file Signed-off-by: Charly COSTE <changaco@changaco.net>
author Charly COSTE <changaco@changaco.net>
date Fri, 15 Jan 2010 23:11:25 +0100
parents b29fd5696a78
children e0eea72ea493
line wrap: on
line source

> Introduction

This is the first release of xib so some things are not implemented yet, if you want/need an error-safe bot, don't use this one !

Here is the list of things that still need to be implemented:
- handle cross-protocol kicks
- split logs into multiple files
- handle password-protected rooms

xib includes its own version of the old irclib.py <http://python-irclib.sourceforge.net/> because this library doesn't correctly handle the different character encodings, I'm sorry about it but I don't have time to contribute to the upstream version right now, I don't know if it still has developers anyway


> xib dependencies:
- python 2.6
- xmppony 0.1
- argparse (added in xib 0.2 for the new command system)


> Contributors:
Changaco <changaco@changaco.net>


> Changelog:
0.3:
 - new mode "bypass", this allows to connect more than one bot for each IRC server without having so many nickname conflicts that the bot looks like it is in limited mode
0.2:
 - fixed many many bugs
 - new command system
 - rejoin on kick and leave on ban
 - added an ugly ping mechanism to keep the connections open
 - don't create an XMPP duplicate of ChanServ
 - "/me" handling
 - split long messages when sending on IRC
0.1.1:
 - fixed bug that prevented the bot from connecting to freenode and all other servers that don't send "umode"
 - added optional parameter to start_bots_from_xml_config.py
0.1: Initial release


> How to install and run xib bots:

If you are not installing xib from a package manager I suggest you put the files in /usr/local/share/xib
To start xib bots just execute "start_bots_from_xml_config.py", this script takes the path to a configuration file as optional first parameter, if no such parameter is given it will search the *current* directory for a file named "config.xml".


> How to write a configuration file understandable by "start_bots_from_xml_config.py":

Copy "example_config.xml" and modify it to fit your needs.


> The different modes of the xib bots:

"mode" is a per-bridge attribute, it can take three values:
- 'normal':
The bot connects on IRC on behalf of XMPP users and connects on XMPP on behalf of IRC users.
In this mode the bot automatically switches from normal to limited mode and back again when the IRC server clones limit is crossed.
- 'bypass':
The bot connects on IRC on behalf of XMPP users and connects on XMPP on behalf of IRC users.
If a nickname is already used the bot tries to connect with a slightly different nickname, adding a "_" to the original nickname.
In this mode the bot automatically switches to limited mode and back again when the IRC server clones limit is crossed.
- 'limited':
The bot only connects on XMPP on behalf of IRC users but NOT on IRC on behalf of XMPP.
- 'minimal':
The bot does not connect on behalf of the participants.


> Configure what the bot says on rooms:

"say_level" is a per-bridge attribute, it can take 6 values, each value contains the ones below itself:
- 'all', default value, say everything
- 'info', contains participants' joining and leaving events in limited and minimal modes
- 'notice'
- 'warning', contains nickname conflicts and everything that is not fatal to the bridge
- 'error'
- 'nothing', don't say a word


> How to log xib bots output:

xib does not directly handle logging for now so you have to do it the old school way, for example:
mkdir /var/log/xib
touch /var/log/xib/1.log
cd /usr/local/share/xib && ./start_bots_from_xml_config.py 1>/var/log/xib/log 2>&1 &