Limnoria/plugins/BadWords/README.rst
Valentin Lorentz 833af36b08 all plugins: auto-generate READMEs
Starting with this commit, there should be no "original" text
in READMEs.
Instead, the entire text should be in docstrings, and READMEs
should be automatically generated from these docstrings.

Motivation:

* The same help is available both via IRC and in the README
  (although the README can be more detailed, as only the first
  paragraph will be shown on IRC)
* This will allow auto-generating plugin help on docs.limnoria.net
  using the same content as the README, as it's sourced from the
  docstrings

Additionally, this converts all READMEs from Markdown to ReST,
because the documentation already uses ReST, and other docstrings
in the codebase are in ReST for this reason.
2021-04-05 17:42:31 +02:00

82 lines
4.0 KiB
ReStructuredText

.. _plugin-BadWords:
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.