Wednesday, June 29, 2011

List of default Supybot plugins along with their description

(Note : there is a tutorial on how to setup Supybot on Windows here.)

During the setup process, supybot proposes to add a list of plugins. However, I haven't found any kind of online documentation on what these individual plugins do, besides the wayback machine which can't be googled. Otherwise, the only information about them is contained in the setup itself ; You have to type every plugin name to see what they do, then say whether or not you want to add it and then whether or not you want to add another plugin. It's a rather long process, so here is the list of all supybot's default plugins along with their description from the setup file.

* Be careful when installing plugins marked with a * as the wizard has some questions to ask you after you said yes to installing it. So if you go "y enter y enter", it will make you enter "y" at the first information asked.

Alias : Allows aliases for other commands.

Anonymous : Allows talking through the bot anonymously.

AutoMode : Automatically gives op, halfop, voice or bans people when they join a channel, according to their capabilities. If you want your bot to automatically voice users when they join you channel, this is the plugin to load.

BadWords : Filters bad words on outgoing messages from the bot, so the bot can't be made to say bad words.

ChannelLogger : Logs the channel to its own individual logfile.

ChannelStats : Silently listens to every message received on a channel and keeps statistics concerning joins, parts and various other commands in addition to tracking statistics about smileys, actions, characters and words.

Conditional : Allows different responses depending on input conditions. Mostly just useful in aliases/regexp triggers to make decisions about what to do at output time.

CTCP : Handles standard CTCP responses to PING, SOURCE, VERSION, USERINFO, and FINGER.

Dict : Commands that use the dictd protocol to define words.

Dunno : The dunno module is used to spice up the reply when given an invalid command with random "I dunno"-like responses. If you want something spicier than "[x] is not a valid command"-like responses, use this plugin.

Factoids (requires PySQLite available here) : Stores various factoids which can be listed and displayed on the channel. This is very useful to store answers to frequently asked questions or various protips.

Filter : Provides numerous filters and a command [outfilter] to set them as filters on the output of the bot.

Format : Provides simple commands for formatting text on IRC.

Games : Provides various game-related commands : 8ball, flipping a coin, rolling a dice, russian roulette and monologue, which tells you for how many lines you've been talking to yourself.

Google : Brings google services to your bot :
  • Google search
  • Google "I'm feeling lucky"
  • Google cache
  • Google fight
  • Google translate (soon to be dropped by google)
  • Google groups
  • Google calc
  • Google phonebook
No, no Google image or Google video.


Herald : Greets users who join the channel with a recognized hostmask with a nice little greeting.

Internet : Provides Internet-related commands :
  • DNS lookup
  • Whois
  • Returning the hexadecimal form of a decimal IP address

Karma : Plugin for handling Karma stuff on the channel.

Lart : Short for "Luser Attitude Readjustment Tool". This plugin keeps a database of Larts and Larts with it.

Later : Based entirely on nicks, it's an easy way to leave messages to users to be sent in private when they arrive later.

Limiter : This plugin handles channel limits (MODE +l).

Math : Provides various math-related commands :
  • Base to base conversion
  • Calculations
  • Returning the value of an RPN expression
  • Unit conversion

MessageParser : Allows to set regexp triggers for IRC messages. This enables the bot to respond even if the IRC message was not a command directly addressed to the bot. This enhances the usefulness of the bot in a number of ways. You can use this to create custom commands for your bot.

MoobotFactoids : Moobot factoid compatibility module. Moobot's factoids were originally designed to emulate Blootbot's factoids, so in either case, you should find this plugin comfortable.

Network : Includes commands for connecting, disconnecting and reconnecting to multiple networks, as well as several other utility functions related to IRC networks.

News : A module to allow each channel to have "news". News item may have expiration dates.

NickCapture : This module attempts to capture the bot's nick, watching for an opportunity to switch to that nick.

Nickometer : A port of Infobot's nickometer command from Perl. This plugin provides one command (called nickometer) which tells you how "lame" an IRC nick is. It's an elitist hacker thing, but quite fun.

Note : A complete messaging system that allows users to leave "notes" for other users that can be retrieved later.

Plugin : This plugin handles various plugin-related things, such as getting help for a plugin, getting a list of the loaded plugins and searching and downloading plugins from supybot.com.

Praise : Hand out praise to IRC denizens with this plugin.

Protector : Defends a channel against actions by people who don't have the proper capabilities.

Quote : Maintains a Quotes database for each channel. The quotes are randomly selected from message said in the channel. Note that with this plugin, you don't get to manually add quotes. If that is what you want to do (which is probably the case) what you need is the next plugin.

QuoteGrabs : Quotegrabs are like IRC sound bites. When someone says something funny, incriminating, stupid, outrageous, anything that might be worth remembering, you can grab that quote for that person. With this plugin, you can store many quotes per person and display their most recent quote as well as see who "grabbed" the quote in the first place.

RSS : Provides basic functionality for handling RSS/RDF feeds.

Relay : Handles relaying between networks.

Reply : Basically echoes in private message, notice or action the text you send to the bot.

Scheduler : Gives this user the ability to schedule commands to run at a particular time or repeatedly run at a particular interval.

Seen : Keeps track of the last time a user was seen on a channel.

Services* : Handles management of nicks with Nickserv and ops with Chanserv.

ShrinkUrl* : Shrinks URLs using TinyURL or ln-s.net.

Status : A simple module to handle various informational commands querying the bot's current status and statistics.

String : Provides various string-related commands :
  • Returning the 8-bit value of a character
  • Returning the character associated to an 8-bit value
  • Encoding and decoding text using all the standard encodings supported by the Python codecs module
  • Returning the levenshtein distance between 2 strings
  • Returning the length of a string
  • Returning the MD5 of a string
  • Returning the soundex hash of a string
  • Returning the portion of a string that matches a regular expression
  • Returning the XOR encryption of a string with a password
  • Returning an SHA hash.

Success : Spices up success replies just like Dunno spices up "No such command" replies.

Time : A plugin for time-related functions :
  • Returning the number of seconds in a number of years, weeks, days, hours, or minutes
  • Returning the number of seconds that have passed since a certain epoch
  • Returning the number of seconds until a time
  • Returning the ctime of a number of seconds since an epoch
  • Returning the current time
  • Returning the amount of time that a number of seconds represent

Todo : Allows registered users to keep their own personal list of tasks to do, with an optional priority for each.

Topic : Provides commands for manipulating channel topics.

Unix : Provides Unix-related functions. (Will not work on Windows)

URL : Keeps track of URLs posted to a channel, along with relevant context. Allows searching for URLs and returning random URLs. Also provides statistics on the URLs in the database.

Utilities : Various utility commands, mostly useful for manipulating nested commands.

Web : Includes various web-related commands.

No comments: