diff options
author | Joe Robinson <joe@grabyo.com> | 2017-04-19 14:32:48 +0100 |
---|---|---|
committer | Joe Robinson <joe@grabyo.com> | 2017-04-19 14:32:48 +0100 |
commit | 37d883535366f03e3ee4044a59569942864af0a5 (patch) | |
tree | fa7cf527d2defb6291e45f932abc5ba55c57e01a /IrcConnection.py | |
parent | 5422ca830c2d5f2845c837cccf00a42f4e310fa6 (diff) |
Add topic handling
Diffstat (limited to 'IrcConnection.py')
-rw-r--r-- | IrcConnection.py | 38 |
1 files changed, 38 insertions, 0 deletions
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")): |