aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/ircv3_multi_line.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/modules/ircv3_multi_line.py b/modules/ircv3_multi_line.py
index 54461fbd..a014566c 100644
--- a/modules/ircv3_multi_line.py
+++ b/modules/ircv3_multi_line.py
@@ -1,6 +1,7 @@
from src import ModuleManager, utils
CAP = utils.irc.Capability(None, "bitbot.dev/multi-line")
+BATCH = utils.irc.BatchType(None, "bitbot.dev/multi-line")
class Module(ModuleManager.BaseModule):
@utils.hook("received.cap.ls")
@@ -24,3 +25,15 @@ class Module(ModuleManager.BaseModule):
batch.add_line(utils.irc.protocol.privmsg(target, line))
for line in batch.get_lines():
event["server"].send(line)
+
+ @utils.hook("received.batch.end")
+ def batch_end(self, event):
+ if BATCH.match(event["batch"].type):
+ messages = []
+ lines = event["batch"].get_lines()
+ for line in lines:
+ messages.append(line.args[1])
+
+ target = event["batch"].args[0]
+ message = "\n".join(messages)
+ return [IRCLine.ParsedLine("PRIVMSG", [target, message])]