aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2019-06-21 18:22:36 +0100
committerGravatar jesopo2019-06-21 18:22:36 +0100
commit81ca751d964411093bce8b13a149aaea60458bf3 (patch)
tree1ecde7b736888cf85b3aa506bb6f08e6cfb3b786
parentMake echo-message depend on labeled-responses (diff)
signature
set echo-message response ID to the ID of the original message
-rw-r--r--modules/ircv3_echo_message.py10
-rw-r--r--modules/ircv3_labeled_responses.py3
2 files changed, 12 insertions, 1 deletions
diff --git a/modules/ircv3_echo_message.py b/modules/ircv3_echo_message.py
index 70b39115..276ac554 100644
--- a/modules/ircv3_echo_message.py
+++ b/modules/ircv3_echo_message.py
@@ -9,3 +9,13 @@ class Module(ModuleManager.BaseModule):
def send_message(self, event):
if event["server"].has_capability(CAP):
event.eat()
+
+ @utils.hook("preprocess.send.privmsg")
+ @utils.hook("preprocess.send.notice")
+ @utils.hook("preprocess.send.tagmsg")
+ def preprocess_send(self, event):
+ if event["server"].has_capability(CAP):
+ event["events"].on("labeled-response").hook(self.on_echo)
+
+ def on_echo(self, event):
+ event["responses"][0].id = event["line"].id
diff --git a/modules/ircv3_labeled_responses.py b/modules/ircv3_labeled_responses.py
index 1fde7b4a..dc838c93 100644
--- a/modules/ircv3_labeled_responses.py
+++ b/modules/ircv3_labeled_responses.py
@@ -56,7 +56,8 @@ class Module(ModuleManager.BaseModule):
return
cached = server._label_cache.pop(label)
- cached.events.on("labeled-response").call(lines=lines)
+ cached.events.on("labeled-response").call(line=cached.line,
+ responses=lines)
for label, other_cached in server._label_cache.items():
other_cached.labels_since += 1