aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2019-12-10 10:49:12 +0000
committerGravatar jesopo2019-12-10 10:49:12 +0000
commit69f4d43590ef1af4bc0c91a00bb12f746a09645c (patch)
tree4cc5a9e120ca2ef6a90e0ca02832d3676d7539a1 /modules
parentfix typos, type hinting and missed changes in ModuleManager (diff)
signature
catch `++nickname` as karma too
Diffstat (limited to 'modules')
-rw-r--r--modules/karma.py11
1 files changed, 10 insertions, 1 deletions
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")