IrssiBot

- documentation -

Installation
The following assumes a *nix OS bash shell. If you are running IrssiBot under Windows - well, you shouldn't be. If you are, however, then look at the start script and write another that windows understands.
  1. Create a directory for irssibot and untar (tar xfzv package.tar.gz) the package there.
  2. Edit config/example-config.xml and the user file you specify.
Now IrssiBot is ready to run. Use the following:

./bot.sh start config/your-config-file-name.xml - runs the bot
./bot.sh stop - kills the bot rudely


Dynamic users
All users that have a hostmask containing * characters, are considered dynamic users and must login to the bot after a certain period of time to maintain their user status. In the current version of the bot, this period is one hour. The login procedure is /msg botnick login <password> after which the bot will prompt you about the successful login. If you wish to remove your login status before the 60 minutes period is up, you can do /msg botnick logout in which case your previous login status is erased.

There has been some confusion about the password/login stuff.. the password is only for dynamic users (see definition above) and you may NOT set one's password by modifying the user file; the passwords in the user file are scrambled and will be broken by descramble on next load. Use UserTools -module's !edit password -command to change an user's password.

Commands
All commands to bot are either spoken on a channel (a preceding '!' is required) or /msg'd to the bot. The built-in commands are member functions of a concrete Java class, namely Core.class, and they are sort of interpreted on-the-fly. If this seems confusing, don't panic, the bot works just fine whether or not you know anything about core calls. To call these functions, use one of the following syntaxes:

!core->methodName(argument1,argument2,..)

or

/msg botnick core->methodName(argument1,argument2,..)

All other commands besides the Core calls are the ones defined by loaded modules. Generally the command format for all IrssiBot commands is:

!command argument1 argument2 [,argument3, ..]

and the /msg counterpart:

/msg botnick command #channel argument1 argument2 [,argument3, ..]

See modules below.

Modules
Here is a list of the modules and the commands they contain.

List of core calls
Note: all core calls require a global admin.

loadModule(moduleClassName) - loads a module
listLoadedModules() - lists loaded modules
unloadModule(moduleClassName) - removes module from memory
addChannelConnect(fromNetworkName#fromChannel,toNetworkName#toChannel) - connects two channels
listChannelConnects() - lists channel connections
removeChannelConnects(fromNetworkName) - removes a channel connection
save() - forces all server instances to save their config files
quit(message) - quits the bot
info() - display bot info