splitbrain.org

electronic brain surgery since 2001

Writing /var/www/html/data/log/deprecated/2024-11-07.log failed

Logging an IRC channel

One of the decisions made at the RoCoCo camp last weekend was to hold a wiki developers gathering at IRC on a monthly basis. The channel (#wikiohana at freenode) is active and some guys are hanging around there already.

Because we all live in different time zones it will not always be possible to have all developers in the channel. To give those who weren't there a chance to catch up with what happened, we needed some way of logging the conversations and have them available in a public, searchable web interface.

My first idea was to look for a public service which does IRC logging for you but I couldn't find one. I wonder when Google will jump into this.

My second look went to available bots which do logging, but most I could find did much more than simple logging or had no web interface. Of course this meant I had to build my own :-).

My IRC logger consists of two parts: A simple IRC bot written in Perl using the Net::IRC module and a PHP frontend to view and search the logs. Everything is stored in a single MySQL table using MySQL's fulltext index for searching.

Have a look at the #wikiohana channel for how the interface looks like.

The sources are available through a git repository or a daily snapshot. I didn't add a license, yet. Will be GPL probably.

The code isn't very modular and only can log a single channel, but it does the job.

What I'm wondering now is if people would like such logging service for the DokuWiki channel as well. There is a lot of information exchanged and having a searchable log of it could prove really useful.

What do you think?

Update: The #wikiohana channel isn't much frequented and logged by me anymore. However the bot is running for the #dokuwiki channel now. The bot now contains a few DokuWiki specifics to be able to respond to certain keywords. The interface can be seen at irc.dokuwiki.org.
Tags:
irc, logger, perl, php
Similar posts: