Limnoria/plugins/SedRegex
Valentin Lorentz d296bbb949 SedRegex: Make pattern case-insensitive.
To fixes a mismatch between callbacks, which use flags=re.I by default,
and SED_REGEX.search which isn't; so 'S/foo/bar/' errored because it
matches case-insensitively so _unpack_sed is entered, but then _unpack_sed
fails to match it case-sensitively.
2020-04-02 17:30:57 +02:00
..
local Import SedRegex plugin as of 2a556a1b84 2020-01-01 21:55:57 -08:00
__init__.py SedRegex: update plugin metadata 2020-01-01 21:56:40 -08:00
config.py SedRegex: abort when a search times out 2020-01-01 21:55:58 -08:00
plugin.py SedRegex: Make pattern case-insensitive. 2020-04-02 17:30:57 +02:00
README.md README: specifically mention that /s is specific to this plugin 2020-01-01 21:55:58 -08:00
test.py SedRegex: Make pattern case-insensitive. 2020-04-02 17:30:57 +02:00

History replacer using sed-style expressions.

Configuration

Enable SedRegex on the desired channels: config channel #yourchannel plugins.sedregex.enable True

Usage

After enabling SedRegex, typing a regex in the form s/text/replacement/ will make the bot announce replacements.

20:24 <~GL> helli world
20:24 <~GL> s/i/o/
20:24 <@Lily> GL meant to say: hello world

You can also do othernick: s/text/replacement/ to only replace messages from a certain user. Supybot ignores are respected by the plugin, and messages from ignored users will only be considered if their nick is explicitly given.

Regex flags

The following regex flags (i.e. the g in s/abc/def/g, etc.) are supported:

  • i: case insensitive replacement
  • g: replace all occurences of the original text
  • s: (custom flag specific to this plugin) replace only messages from the caller