support "<nickname>: s/" sed format
This commit is contained in:
parent
14125a6048
commit
8bebcb14c7
1 changed files with 5 additions and 4 deletions
|
@ -5,7 +5,7 @@ import re, traceback
|
||||||
from src import ModuleManager, utils
|
from src import ModuleManager, utils
|
||||||
|
|
||||||
REGEX_SPLIT = re.compile("(?<!\\\\)/")
|
REGEX_SPLIT = re.compile("(?<!\\\\)/")
|
||||||
REGEX_SED = re.compile("^s/")
|
REGEX_SED = re.compile("^(?:(\\S+): )?s/")
|
||||||
|
|
||||||
@utils.export("channelset",
|
@utils.export("channelset",
|
||||||
utils.BoolSetting("sed","Disable/Enable sed in a channel"))
|
utils.BoolSetting("sed","Disable/Enable sed in a channel"))
|
||||||
|
@ -21,7 +21,7 @@ class Module(ModuleManager.BaseModule):
|
||||||
@utils.kwarg("pattern", REGEX_SED)
|
@utils.kwarg("pattern", REGEX_SED)
|
||||||
def channel_message(self, event):
|
def channel_message(self, event):
|
||||||
sed_split = re.split(REGEX_SPLIT, event["message"], 3)
|
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):
|
if not self._closest_setting(event, "sed", False):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -52,8 +52,9 @@ class Module(ModuleManager.BaseModule):
|
||||||
return
|
return
|
||||||
replace = utils.irc.bold(sed_split[2].replace("\\/", "/"))
|
replace = utils.irc.bold(sed_split[2].replace("\\/", "/"))
|
||||||
|
|
||||||
for_user = event["user"].nickname if self._closest_setting(event,
|
for_user = event["match"].group(1)
|
||||||
"sed-sender-only", False) else None
|
if self._closest_setting(event, "sed-sender-only", False):
|
||||||
|
for_user = event["user"].nickname
|
||||||
|
|
||||||
with utils.deadline():
|
with utils.deadline():
|
||||||
match = event["target"].buffer.find(pattern, from_self=False,
|
match = event["target"].buffer.find(pattern, from_self=False,
|
||||||
|
|
Loading…
Reference in a new issue