Limnoria/plugins/MessageParser
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
..
local Import MessageParser from gribble repo 2011-02-20 11:14:29 +01:00
locales Fix msgfmt warnings. 2020-03-26 22:10:28 +01:00
README.rst all plugins: auto-generate READMEs 2021-04-05 17:42:31 +02:00
__init__.py all plugins: auto-generate READMEs 2021-04-05 17:42:31 +02:00
config.py Fix neutral pronouns. 2014-04-11 21:56:42 +00:00
messages.pot PluginDownloader: update l10n-fi. 2014-03-22 16:38:16 +02:00
plugin.py callbacks: honor network-specificity of supybot.reply.whenAddressedBy. 2020-04-11 15:00:46 +02:00
test.py plugins: use r'' strings to fix DeprecationWarning in test cases (#1328) 2020-01-26 11:14:25 -08:00

README.rst

Documentation for the MessageParser plugin for Supybot

Purpose

The MessageParser plugin allows you to set custom regexp triggers, which will trigger the bot to respond if they match anywhere in the message. This is useful for those cases when you want a bot response even when the bot was not explicitly addressed by name or prefix character.

An updated page of this plugin's documentation is located here: https://sourceforge.net/p/gribble/wiki/MessageParser_Plugin/

Usage

This plugin can set regexp triggers to activate the bot. Use 'add' command to add regexp trigger, 'remove' to remove.

Commands

add [<channel>|global] <regexp> <action>

Associates <regexp> with <action>. <channel> is only necessary if the message isn't sent on the channel itself. Action is echoed upon regexp match, with variables $1, $2, etc. being interpolated from the regexp match groups.

info [<channel>|global] [--id] <regexp>

Display information about <regexp> in the triggers database. <channel> is only necessary if the message isn't sent in the channel itself. If option --id specified, will retrieve by regexp id, not content.

list [<channel>|global]

Lists regexps present in the triggers database. <channel> is only necessary if the message isn't sent in the channel itself. Regexp ID listed in parentheses.

lock [<channel>|global] <regexp>

Locks the <regexp> so that it cannot be removed or overwritten to. <channel> is only necessary if the message isn't sent in the channel itself.

rank [<channel>|global]

Returns a list of top-ranked regexps, sorted by usage count (rank). The number of regexps returned is set by the rankListLength registry value. <channel> is only necessary if the message isn't sent in the channel itself.

remove [<channel>|global] [--id] <regexp>]

Removes the trigger for <regexp> from the triggers database. <channel> is only necessary if the message isn't sent in the channel itself. If option --id specified, will retrieve by regexp id, not content.

show [<channel>|global] [--id] <regexp>

Looks up the value of <regexp> in the triggers database. <channel> is only necessary if the message isn't sent in the channel itself. If option --id specified, will retrieve by regexp id, not content.

unlock [<channel>|global] <regexp>

Unlocks the entry associated with <regexp> so that it can be removed or overwritten. <channel> is only necessary if the message isn't sent in the channel itself.

vacuum [<channel>|global]

Vacuums the database for <channel>. See SQLite vacuum doc here: http://www.sqlite.org/lang_vacuum.html <channel> is only necessary if the message isn't sent in the channel itself. First check if user has the required capability specified in plugin config requireVacuumCapability.

Configuration

supybot.plugins.MessageParser.enable

This config variable defaults to "True", is network-specific, and is channel-specific.

Determines whether the message parser is enabled. If enabled, will trigger on regexps added to the regexp db.

supybot.plugins.MessageParser.enableForNotices

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

Determines whether the message parser is enabled for NOTICE messages too.

supybot.plugins.MessageParser.keepRankInfo

This config variable defaults to "True", is network-specific, and is channel-specific.

Determines whether we keep updating the usage count for each regexp, for popularity ranking.

supybot.plugins.MessageParser.listSeparator

This config variable defaults to ", ", is network-specific, and is channel-specific.

Determines the separator used between regexps when shown by the list command.

supybot.plugins.MessageParser.maxTriggers

This config variable defaults to "0", is network-specific, and is channel-specific.

Determines the maximum number of triggers in one message. Set this to 0 to allow an infinite number of triggers.

supybot.plugins.MessageParser.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.MessageParser.rankListLength

This config variable defaults to "20", is network-specific, and is channel-specific.

Determines the number of regexps returned by the triggerrank command.

supybot.plugins.MessageParser.requireManageCapability

This config variable defaults to "admin; channel,op", is network-specific, and is channel-specific.

Determines the capabilities required (if any) to manage the regexp database, including add, remove, lock, unlock. Use 'channel,capab' for channel-level capabilities. Note that absence of an explicit anticapability means user has capability.

supybot.plugins.MessageParser.requireVacuumCapability

This config variable defaults to "admin", is network-specific, and is channel-specific.

Determines the capability required (if any) to vacuum the database.