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
..
2020-01-01 21:56:40 -08: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