From 37d883535366f03e3ee4044a59569942864af0a5 Mon Sep 17 00:00:00 2001 From: Joe Robinson Date: Wed, 19 Apr 2017 14:32:48 +0100 Subject: Add topic handling --- IrcConnection.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'IrcConnection.py') diff --git a/IrcConnection.py b/IrcConnection.py index 51a39be..45c41c1 100644 --- a/IrcConnection.py +++ b/IrcConnection.py @@ -8,6 +8,7 @@ class ircConnectThread(QThread): nick_sig = pyqtSignal(str, str) part_sig = pyqtSignal(str, str) join_sig = pyqtSignal(str) + topic_sig = pyqtSignal(str, str) namreply_sig = pyqtSignal(str, str) def __init__(self, handler): QThread.__init__(self) @@ -33,6 +34,14 @@ class ircConnectThread(QThread): self.c.add_global_handler("join", self.on_join) self.c.add_global_handler("namreply", self.on_names) self.c.add_global_handler("part", self.on_part) + self.c.add_global_handler("ctcp", self.on_ctcp) + self.c.add_global_handler("quit", self.on_quit) + self.c.add_global_handler("kick", self.on_kick) + self.c.add_global_handler("mode", self.on_mode) + self.c.add_global_handler("currenttopic", self.on_cur_topic) + self.c.add_global_handler("topic", self.on_topic) + self.c.add_global_handler("topicinfo", self.on_topic) + self.c.add_global_handler("motd", self.on_motd) self.reactor.process_forever() def on_connect(self, connection, event): @@ -59,6 +68,35 @@ class ircConnectThread(QThread): print(event) self.namreply_sig.emit(event.arguments[1], event.arguments[2]) + def on_ctcp(self, connection, event): + source = event.source.split("!")[0] + if (event.arguments[0] == "VERSION"): + connection.ctcp_reply(source, "VERSION wclient 0.2.0") + print(event) + + def on_quit(self, connection, event): + print(event) + + def on_kick(self, connection, event): + print(event) + + def on_mode(self, connection, event): + print(event) + + def on_cur_topic(self, connection, event): + self.topic_sig.emit(event.arguments[0], event.arguments[1]) + print(event) + + def on_topic_info(self, connection, event): + print(event) + + def on_topic(self, connection, event): + self.topic_sig.emit(event.target, event.arguments[0]) + print(event) + + def on_motd(self, connection, event): + print(event) + @pyqtSlot(str, str) def send_msg(self, channel, message): if (message.startswith("/join")): -- cgit v1.2.3