diff options
| author | 2019-09-01 09:58:10 +0100 | |
|---|---|---|
| committer | 2019-09-01 09:58:10 +0100 | |
| commit | 8bebcb14c74e7f5cf0ff7ddf7cab5b2fd05ab74e (patch) | |
| tree | be7759a85d0bed9775e2d7251c4bcbcd47c65d17 | |
| parent | also cancel reconnections with !disconnect (diff) | |
| signature | ||
support "<nickname>: s/" sed format
| -rw-r--r-- | modules/sed.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/modules/sed.py b/modules/sed.py index 62879da0..3d3c15f1 100644 --- a/modules/sed.py +++ b/modules/sed.py @@ -5,7 +5,7 @@ import re, traceback from src import ModuleManager, utils REGEX_SPLIT = re.compile("(?<!\\\\)/") -REGEX_SED = re.compile("^s/") +REGEX_SED = re.compile("^(?:(\\S+): )?s/") @utils.export("channelset", utils.BoolSetting("sed","Disable/Enable sed in a channel")) @@ -21,7 +21,7 @@ class Module(ModuleManager.BaseModule): @utils.kwarg("pattern", REGEX_SED) def channel_message(self, event): sed_split = re.split(REGEX_SPLIT, event["message"], 3) - if event["message"].startswith("s/") and len(sed_split) > 2: + if len(sed_split) > 2: if not self._closest_setting(event, "sed", False): return @@ -52,8 +52,9 @@ class Module(ModuleManager.BaseModule): return replace = utils.irc.bold(sed_split[2].replace("\\/", "/")) - for_user = event["user"].nickname if self._closest_setting(event, - "sed-sender-only", False) else None + for_user = event["match"].group(1) + if self._closest_setting(event, "sed-sender-only", False): + for_user = event["user"].nickname with utils.deadline(): match = event["target"].buffer.find(pattern, from_self=False, |
