aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2018-08-29 15:17:06 +0100
committerGravatar jesopo2018-08-29 15:17:06 +0100
commit669aa32c317cf84227a3ef53f7ca3207805556ef (patch)
tree524393f4e0497bcb55929b6abec572370239cd55
parentPrint topics in print_activity.py (diff)
signature
Report actual topic setter (use 333, not 332)
-rw-r--r--IRCLineHandler.py8
-rw-r--r--modules/print_activity.py16
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"])