BadWords

Purpose

Filters bad words on outgoing messages from the bot, so the bot can’t be made to say bad words. As an additional capability, it can (optionally) kick users who use such words from channels that have that capability enabled.

Usage

Maintains a list of words that the bot is not allowed to say. Can also be used to kick people that say these words, if the bot has op.

Commands

add <word> [<word> …]
Adds all <word>s to the list of words being censored.
list takes no arguments
Returns the list of words being censored.
remove <word> [<word> …]
Removes <word>s from the list of words being censored.

Configuration

supybot.plugins.BadWords.kick

This config variable defaults to “False”, is network-specific, and is channel-specific.

Determines whether the bot will kick people with a warning when they use bad words.

supybot.plugins.BadWords.kick.message

This config variable defaults to “You have been kicked for using a word prohibited in the presence of this bot. Please use more appropriate language in the future.”, is network-specific, and is channel-specific.

Determines the kick message used by the bot when kicking users for saying bad words.

supybot.plugins.BadWords.nastyChars

This config variable defaults to “!@#&”, is not network-specific, and is not channel-specific.

Determines what characters will replace bad words; a chunk of these characters matching the size of the replaced bad word will be used to replace the bad words you’ve configured.

supybot.plugins.BadWords.phrases

This config variable defaults to ” “, is not network-specific, and is not channel-specific.

Comma-separated groups of words that are considered to be ‘bad’.

supybot.plugins.BadWords.public

This config variable defaults to “True”, is not network-specific, and is not channel-specific.

Determines whether this plugin is publicly visible.

supybot.plugins.BadWords.replaceMethod

This config variable defaults to “nastyCharacters”, is not network-specific, and is not channel-specific.

Determines the manner in which bad words will be replaced. ‘nastyCharacters’ (the default) will replace a bad word with the same number of ‘nasty characters’ (like those used in comic books; configurable by supybot.plugins.BadWords.nastyChars). ‘simple’ will replace a bad word with a simple strings (regardless of the length of the bad word); this string is configurable via supybot.plugins.BadWords.simpleReplacement. Valid strings: simple and nastyCharacters.

supybot.plugins.BadWords.requireWordBoundaries

This config variable defaults to “False”, is network-specific, and is channel-specific.

Determines whether the bot will require bad words to be independent words, or whether it will censor them within other words. For instance, if ‘darn’ is a bad word, then if this is true, ‘darn’ will be censored, but ‘darnit’ will not. You probably want this to be false. After changing this setting, the BadWords regexp needs to be regenerated by adding/removing a word to the list, or reloading the plugin.

supybot.plugins.BadWords.simpleReplacement

This config variable defaults to “[CENSORED]”, is not network-specific, and is not channel-specific.

Determines what word will replace bad words if the replacement method is ‘simple’.

supybot.plugins.BadWords.stripFormatting

This config variable defaults to “True”, is not network-specific, and is not channel-specific.

Determines whether the bot will strip formatting characters from messages before it checks them for bad words. If this is False, it will be relatively trivial to circumvent this plugin’s filtering. If it’s True, however, it will interact poorly with other plugins that do coloring or bolding of text.

supybot.plugins.BadWords.words

This config variable defaults to ” “, is not network-specific, and is not channel-specific.

Determines what words are considered to be ‘bad’ so the bot won’t say them.