Python IRC Bot PyReferee
April 20, 2010, 11:18 p.m.
I've written PyReferee primarily as an experiment with multi-threading and sockets in Python.
PyReferee will connect to multiple servers and join multiple channels. Once so connected it can read and parse conversations through parser classes then issues several classes of penalties which are escalated by severity. This is entirely configurable as to what action is taken, how many levels of penalty, and how many penalties can be accumulated at each level before escalation. The default action is to +q users for increasing duration before banning them after they have exceeded all prior levels.
Again, the template can do whatever commands the bot has privilege to execute at any level with any level of triggers from parsers. So yeah, it is flexible.
It also responds to CTCP VERSION requests as well as the standard IRC PING to stay in the good graces of the IRC server.
Right now it only watches for users flooding too many messages to the channel. If you are looking for a decent basic framework for IRC parsing with an option for enforcement this is a good start.
tags( #code #python ) Tweet