Skip to content
caller9 edited this page Sep 14, 2010 · 9 revisions

PyReferee – IRC Referee Chat Bot

Where defaults are set in the description of actions below they will be enclosed in ().

Currently the IRC_Flood class will watch the channel and when a nick sends more than X(10) messages in Y(60) seconds they receive a “yellow card.” This is accompanied by a message template sent to the channel and an action template taken against the user(q for 60 seconds.) Once they exceed a configurable yellow card limit(3) within a period of configurable days(7) they are given a red card. This is also accompanied by a message template and an action template (q for 4 hours.) Once they exceed their red card limit(3) within a period of configurable days(30) the “permaban” action is taken. The default is to set +b. The difference with the permaban option is that there is no timer thread that will come around to revoke the +b. Unbanning requires human intervention.

The IRC_Enforcer will parse templates for both messages and actions on yellow, red, and permanent actions. So the actions and messages for each could be whatever the admin desires. These can be customized on a per-channel basis.

Current Features:

  • Connect to multiple servers with multiple threads
  • Join multiple channels on each server
  • Identify administrators by host information on a per channel basis. (Preferably NickServe registered mask)
  • Admins are excluded from enforcement.
  • Per channel configuration for parsers
  • Parsers can implement parse_message or parse_command depending on whether the bot’s nick is directly addressed in the channel
  • Bot can identify to nickserv
  • Users can type “BOT_NICK cards” in the channel to receive their current count of yellow/red cards.

TODO:

Priority 1

  • Reply to CTCP Version request

Priority 2

  • Allow existing admin to modify admin list while running
  • Configuration file directive of immutable admin status for some admins
  • Reload configuration files while running
  • Option to automatically +o admins in a channel where bot is operator
  • Command to +o/-o admins on demand

Priority 3

  • Allow IRC_Flood parser config to be modified by admin in the channel while running
Clone this wiki locally