Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Logarithm Perl IRC Bot Version 0.9 Installing: Uncompress the source tarball (or checkout the git repository) into the directory you want the final install to be. Configuring: 1. Set the server and channel options in <logarithm>/etc/options.conf (as well as any others) 2. Add an entry into <logarithm>/etc/passwd using the passwd.pl tool in <logarithm>/tools/ 3. Add an access entry into <logarithm>/access Configuration options are stored in the <logarithm>/etc/options.conf file (global options) and the <logarithm>/etc/<channel>/options.conf file (channel-specific options). These files can be managed through the bot itself using the options command, or they can be edited directly using a text editor. The server and channel options will need to be set using a text editor no matter what. If the file changes while logarithm is running, the new file will be loaded. Every time a change is made through logarithm, the option.conf file is written to disk. All options are stored in the form: <option> = "<value>","<value",... See the Options section for a list of all the available options. Logarithm has a permissions system so before running the bot for the first type, you should register your nick using the passwd.pl script in tools (passwd.pl <nick> <password> [<hostmask>] where hostmask is a string with '*' wildcards that is matched with the host you are connecting to IRC from in order to automatically identify you). You should also add yourself with a global access level of 500 by modifying the <logarithm>/etc/access file with a line <nick>:500. (See the <logarithm>/etc/access.example). Running: For running as a daemon: ./logarithm (start|stop|restart|reload) For running as a shell program with output: cd src/ perl logarithm.pl When logarithm is started as a daemon, it will write its pid number into a file called <logarithm>/src/logarithmd.pid. The script <logarithm>/logarithm.chk can be scheduled as a cron job to check if logarithm is still running and if not, to start a new instance. Using: Commands can be executed by users in the same channel as logarithm though the channel itself or by sending private messages directly to logarithm. Some of these commands require a certain level of access privilege which is represented as a number between 0 and 500 where 0 is the least privileged and 500 is the most privileged. Only the owner of the bot should have an access level of 500. Logarithm maintains a list of access levels for each channel and a global list which applies in any channel. A user must register with logarithm using the register command and either use the id command to identify themselves or set their hostmask to be automatically identified. There is only one global password list so users need not register in each channel. Users who are not identified have a level of 0. Users who are identified but who have no record in an access list have a level 1. Plugins: Plugins are activate in all channels unless they have a specific mechanism that allows them to ignore certain channels. Plugins can be enabled or disabled using the plugin command. The 'plugins' option in the options.conf file contains a list of plugins to load when logarithm starts and is modified when the plugin command is used. Global Options: nick: The nick used by the bot. This value is only read on startup. password: The nicksev password of the bot. This value is only read on startup and is used to identify with nickserv after connecting and when a "please identify" type message is sent by nickserv. channels: A list of channels that are joined when logarithm starts. servers: A list of servers logarithm will try to connect to. Only one server will be connected to at a time. plugins: A list of plugins that are loaded when logarithm starts. command_path: A list of directories from which commands are loaded when logarithm starts. Global or Per-Channel Options: command_designator: The prefix used before commands. This prefix must be used in order for a command to be run when the command is issued from within a channel but is optional when the command is sent as a private message directly to logarithm. When this option is defined for a channel, it will override the global setting. If neither a channel nor global setting exists then '!' is used. If set to "" then no prefix is required (beware using this). In order to disable this option it must be erased. disable_all: Causes all commands to be disabled by default when set to 1. Commands can be added on an individual basis using the 'enabled_commands' option. The value of this option overrides the global setting. disabled_commands: A list of commands which are not allowed to be used if the disable_all command is set to 0. The channel specific and global lists are merged to get the list of commands that cannot be run in a specific channel. If commands are run by sending a message directly to logarithm then only the global list is used. enabled_commands: A list of commands which are allowed if the disable_all option is set to 1. The channel specific and global lists are merged to get a list of commands that are allowed to be run in a specific channel. IF commands are run by sending a message directly to logarithm then only the global list is used. <command>_access: For each command, an option named after the command can be set to change the access level require to execute that command.