From 1927c3c8afcd42e41e3d17c52daf62ac878fa6a4 Mon Sep 17 00:00:00 2001 From: jesopo Date: Wed, 13 Feb 2019 10:39:10 +0000 Subject: [PATCH] Catch and propagate IRCv3's FAIL command (#357) (line_handler.py) --- modules/line_handler.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/line_handler.py b/modules/line_handler.py index 8c4975b7..44bbf7c0 100644 --- a/modules/line_handler.py +++ b/modules/line_handler.py @@ -70,7 +70,18 @@ class Module(ModuleManager.BaseModule): @utils.hook("raw.received.error") def error(self, event): - self.log.error("error received: %s", [event["args"][0]]) + self.log.error("ERROR received: %s", [event["args"][0]]) + @utils.hook("raw.received.fail") + def fail(self, event): + command = event["args"][0] + error_code = event["args"][1] + context = event["args"][2:-1] + description = event["args"][-1] + + self.log.warn("FAIL (%s %s) received: %s" % + (command, error_code, description)) + self.events.on("received.fail").call(command=command, + error_code=error_code, context=context, description=description) # first numeric line the server sends @utils.hook("raw.received.001", default_event=True)