NerdList

NerdList is an xchat script written in python that manages a top N list of nerdy utterances and actions by the users of an irc channel.

The name comes from its birth on an italian channel, where the term "nerd" is used to mean both "nerd" as well as "geek". It can be easily changed to keep track of various other pieces of channel lore.

Points are added when someone decides to add a reason why someone else (or him/herself) is a nerd; there is currently no control on who adds who and why, except for a timeout to prevent spamming.

Download

Current version is 0.6, mostly finished except for some testing and small details.

NerdList 0.6 (2.9K)
gzipped python script - current version (added check and creation of the nerdlogs directory)
NerdList 0.5 (2.9K)
gzipped python script (first released version)

Installation

After you've downloaded NerdList and gunzipped it you can follow the instructions to auto-load it at startup on the xchat site.

You can then change some of the settings by editing the variables in the CONFIGURATION section of the file.

freechans
this is a list of channels where you don't want the script to work.
script_own
your nickname.
datadir
this is where the logs are kept: use either an absolute path or one starting with ~ for your home directory.
mintimenerd
mintimehelp
mintimelist
spam protection: minimum time in seconds between answers to the nerd, nerdhelp and nerdlist triggers or commands (in the same channel).
scriptname
this is what the script prints at the beginning of help and list.
reasonchance
this is used to control the way reasons are chosen for each user when generating the list: it should be a number between 0 and 1 (not included) and higher numbers should give higher chances that newer reasons will be shown.

Usage

NerdList listens on the channels for the following triggers.

!nerd name reason
adds name to the nerdlog of the current channel, with reason reason; if there are not enough parameters prints the help.
!nerdlist [n]
prints the top n list of nerds for the current channel; default is top 5. The output is:
(position) name (points) reason (nick that suggested this reason)
!nerdhelp
prints the help.

Text sent from the same xchat where the script is running is not parsed; instead one can use commands with the same name and sintax as the triggers above: /nerd name reason, /nerdlist [n] and /nerdhelp.

Known Bugs

When someone sends an empty line (or a line that contains only spaces) an IndexError occours and the script prints some debug informations. This does not interfere with the script functions and is only an occasional nuisance for the person that keeps the script, as nothing is sent to the channel (unless they happen to be on a channel where lines with only spaces are common, then it becomes a not-so-occasional nuisance).

Copyright and license

NerdList is Copyright © 2007 Elena Grandi.

NerdList is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

NerdList is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Last update: 2007-02-14 14:15 +0100

This page by Elena of Valhalla