From 69f4d43590ef1af4bc0c91a00bb12f746a09645c Mon Sep 17 00:00:00 2001 From: jesopo Date: Tue, 10 Dec 2019 10:49:12 +0000 Subject: [PATCH] catch `++nickname` as karma too --- modules/karma.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/karma.py b/modules/karma.py index 71352a3b..4954e0fb 100644 --- a/modules/karma.py +++ b/modules/karma.py @@ -8,6 +8,7 @@ from src import EventManager, ModuleManager, utils KARMA_DELAY_SECONDS = 3 REGEX_WORD = re.compile(r"^([^(\s,:]+)(?:[:,]\s*)?(\+\+|--)\s*$") +REGEX_WORD_START = re.compile(r"^(\+\+|--)([^(\s,:]+)\s*$") REGEX_PARENS = re.compile(r"\(([^)]+)\)(\+\+|--)") @utils.export("channelset", utils.BoolSetting("karma-pattern", @@ -80,7 +81,15 @@ class Module(ModuleManager.BaseModule): success, message = self._change_karma( event["server"], event["user"], target, positive) event["stdout" if success else "stderr"].write(message) - + @utils.hook("command.regex", pattern=REGEX_WORD_START) + @utils.kwarg("command", "karma") + def regex_word_start(self, event): + if event["target"].get_setting("karma-pattern", False): + target = event["match"].group(2) + positive = event["match"].group(1)=="++" + success, message = self._change_karma( + event["server"], event["user"], target, positive) + event["stdout" if success else "stderr"].write(message) @utils.hook("received.command.addpoint") @utils.hook("received.command.rmpoint")