diff options
| author | 2018-08-29 15:17:06 +0100 | |
|---|---|---|
| committer | 2018-08-29 15:17:06 +0100 | |
| commit | 669aa32c317cf84227a3ef53f7ca3207805556ef (patch) | |
| tree | 524393f4e0497bcb55929b6abec572370239cd55 | |
| parent | Print topics in print_activity.py (diff) | |
| signature | ||
Report actual topic setter (use 333, not 332)
| -rw-r--r-- | IRCLineHandler.py | 8 | ||||
| -rw-r--r-- | modules/print_activity.py | 16 |
2 files changed, 14 insertions, 10 deletions
diff --git a/IRCLineHandler.py b/IRCLineHandler.py index b845691d..6175f71a 100644 --- a/IRCLineHandler.py +++ b/IRCLineHandler.py @@ -17,8 +17,7 @@ class LineHandler(object): bot.events.on("raw").on("311").hook(self.handle_311, default_event=True) bot.events.on("raw").on("332").hook(self.handle_332) - bot.events.on("raw").on("333").hook(self.handle_333, - default_event=True) + bot.events.on("raw").on("333").hook(self.handle_333) bot.events.on("raw").on("353").hook(self.handle_353, default_event=True) bot.events.on("raw").on("366").hook(self.handle_366, @@ -137,7 +136,7 @@ class LineHandler(object): channel.set_topic(event["arbitrary"]) self.bot.events.on("received").on("numeric").on("332" ).call(channel=channel, server=event["server"], - topic=event["arbitrary"], setter=event["args"][0]) + topic=event["arbitrary"]) # channel topic changed def topic(self, event): @@ -162,6 +161,9 @@ class LineHandler(object): channel.set_topic_setter(nickname, username, hostname) channel.set_topic_time(topic_time) + self.bot.events.on("received").on("numeric").on("333" + ).call(channel=channel, setter=nickname, set_at=topic_time, + server=event["server"]) # on-join user list with status symbols def handle_353(self, event): diff --git a/modules/print_activity.py b/modules/print_activity.py index 90e343ef..8ec55026 100644 --- a/modules/print_activity.py +++ b/modules/print_activity.py @@ -32,7 +32,7 @@ class Module(object): bot.events.on("self").on("kick").hook(self.self_kick) bot.events.on("received").on("topic").hook(self.on_topic) - bot.events.on("received").on("numeric").on("332").hook(self.on_332) + bot.events.on("received").on("numeric").on("333").hook(self.on_333) def print_line(self, event, line, channel=None): timestamp = datetime.datetime.now().isoformat() @@ -105,10 +105,12 @@ class Module(object): def self_kick(self, event): self._on_kick(event, event["server"].nickname) - def _on_topic(self, setter, event): - self.print_line(event, "topic set by %s: %s" % (setter, - event["topic"]), channel=event["channel"].name) + def _on_topic(self, event, setter, action, topic, channel): + self.print_line(event, "topic %s by %s: %s" % (action, setter, + topic), channel=channel.name) def on_topic(self, event): - self._on_topic(event["user"].nickname, event) - def on_332(self, event): - self._on_topic(event["setter"], event) + self._on_topic(event, event["user"].nickname, "changed", + event["topic"], event["channel"]) + def on_333(self, event): + self._on_topic(event, event["setter"], "set", + event["channel"].topic, event["channel"]) |
