irclogger.pl
Project Summary:
irclogger.pl is a simple IRC bot in perl. It was written for usage on a private, internal server. It was designed to join multiple channels on a server, log all public actions, and handle a few direct commands. It's a great starting skeleton to build a more full featured bot, so I figured I should release it.
This is basically a standalone script. The documentation is in the header of it and is reproduced below. The script has a config header for you to manipulate settings.
Current Release:
file: irclogger.pl.gz
© 2008-2010 Phil Pollard and FusionOne, Inc. This code is released for usage under the GNU Public license.Documentation:
# This bot is a very simple IRC bot that is designed to log onto multiple # channels on an IRC server and log all public actions onto those channels to # individual log files for each channel. # # The bot rotates logfiles automatically on a daily basis with the date and # channel name being embedded in the file name. On the assumption that the # files are available to be viewed via the web, the bot announces to all # arrivals the current URL for the log being used for that channel. # # The bot also handles a few rudimentary commands: # # By a user saying or messaging "bot restart" or "bot reload" the script will # attempt to exit and restart itself. This is handy if you are actively editing # the bots code with a remote editor and wish to relaunch the bot from within # IRC. # # By a user saying or messaging "clock?" or "time?" the bot responds with the # current time (including corrections for daylight savings) for the timezones # listed in the config section. This is handy for international coordination # of efforts in a channel. # # You launch the bot by executing the perl script on the command line. It will # automatically daemonize and try to run in the background. (IE: you'll have to # check your process list to see if it is running.) On most basic connection # errors it will dump information into the general log and then exit. Also the # command line option of '--debug' will dump the log messages to STDERR on the # executing shell. # # This bot does not currently handle managing channel operator status or any # authentication of commands. Though with the event hooks from Net::IRC and # some additions to the "Interactions" section of on_msg(), it should be an # easy task to set up. Enjoy!