Skip to content

Latest commit

 

History

281 Commits

Folders and files

NameName
Last commit message
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.

About

An IRC bot written in Perl

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages