Limnoria/plugins/BadWords
Valentin Lorentz baa8cda814 Fix bypassed cache invalidation checks, causing '@config reload' to be partially ignored
`registry.Value.__call__()` is a wrapper around access to
`registry.Value.value`, that checks if the value was set before the latest
call to `registry.open_registry`; and updates the `value` if needed.

When accessing `registry.Value.value` directly, this cache can't be
invalidated, causing the old value to still be used, until the next call
to `registry.Value.__call__()`.
2021-12-03 16:56:06 +01:00
..
locales Remove Spanish translations as requested by the author 2021-06-24 22:36:04 -07:00
__init__.py Revert generic 'The Limnoria Contributors' in copyright notices 2021-10-17 09:57:55 +02:00
config.py Fix bypassed cache invalidation checks, causing '@config reload' to be partially ignored 2021-12-03 16:56:06 +01:00
messages.pot PluginDownloader: update l10n-fi. 2014-03-22 16:38:16 +02:00
plugin.py Revert generic 'The Limnoria Contributors' in copyright notices 2021-10-17 09:57:55 +02:00
README.rst all plugins: regenerate READMEs 2021-04-22 00:29:15 +02:00
test.py Revert generic 'The Limnoria Contributors' in copyright notices 2021-10-17 09:57:55 +02:00

Documentation for the BadWords plugin for Supybot

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.