summaryrefslogtreecommitdiff
path: root/IrcConnection.py
diff options
context:
space:
mode:
authorJoe Robinson <joe@grabyo.com>2017-04-19 14:32:48 +0100
committerJoe Robinson <joe@grabyo.com>2017-04-19 14:32:48 +0100
commit37d883535366f03e3ee4044a59569942864af0a5 (patch)
treefa7cf527d2defb6291e45f932abc5ba55c57e01a /IrcConnection.py
parent5422ca830c2d5f2845c837cccf00a42f4e310fa6 (diff)
Add topic handling
Diffstat (limited to 'IrcConnection.py')
-rw-r--r--IrcConnection.py38
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")):