ubuntu-bots/Bantracker
Terence Simpson 393b3521f5 Tweaks and modifications.
Bantracker:
  Make the bantracker URL configurable from the bot
  Make sure all the html links are relative
Encyclopedia:
  Handle the possibility of apt-file not being installed
  Handle the possibility of the apt-file cache not being created
  Add sync command to sync with a remote database
  Make sure all the html links are relative
Mess:
  Take out the hard-coded paths, use the config variables to find the plugin dir
2008-05-05 12:34:57 +01:00
..
README.txt Fix up the Bantracker plugin 2007-09-17 20:46:51 +02:00
__init__.py Tweaks and modifications. 2008-05-05 12:34:57 +01:00
bans.cgi Tweaks and modifications. 2008-05-05 12:34:57 +01:00
bans.tmpl Tweaks and modifications. 2008-05-05 12:34:57 +01:00
config.py Tweaks and modifications. 2008-05-05 12:34:57 +01:00
empty.tmpl Initial checkin 2006-06-26 19:57:20 +02:00
plugin.py Tweaks and modifications. 2008-05-05 12:34:57 +01:00
test.py Initial checkin 2006-06-26 19:57:20 +02:00

This plugin can store all bans/kicks etc in an sqlite database. It includes a
cgi script to view bans/kicks and comment on them. The CGI script uses launchpad
authentication, which may not be useful for everyone.

It also uses commoncgi.py which should be on your sys.path (or as you can see in
the script, sys.path is modified to include the dir of commoncgi.py)

The schema of the sqlite database:

CREATE TABLE bans (
                        id INTEGER PRIMARY KEY,
                        channel VARCHAR(30) NOT NULL,
                        mask VARCHAR(100) NOT NULL,
                        operator VARCHAR(30) NOT NULL,
                        time VARCHAR(300) NOT NULL,
                        removal DATETIME,
                        removal_op VARCHAR(30),
                        log TEXT
                   );
CREATE TABLE comments (
                        ban_id INTEGER,
                        who VARCHAR(100) NOT NULL,
                        comment MEDIUMTEXT NOT NULL,
                        time VARCHAR(300) NOT NULL
                   );
CREATE TABLE sessions (
                        session_id VARCHAR(50) PRIMARY KEY,
                        user MEDIUMTEXT NOT NULL,
                        time INT NOT NULL
);
CREATE TABLE users (
                        username VARCHAR(50) PRIMARY KEY,
                        salt VARCHAR(8),
                        password VARCHAR(50)
);

To configure the plugin, create the sqlite database with above structure and set
supybot.plugins.bantracker.database to its filename. Then enable it per channel
by setting the channel variable supybot.plugins.bantracker.enabled

The btlogin function needs the FreenodeAuth plugin