From ac094530b318b445dceabf8a90db28831dfb05ef Mon Sep 17 00:00:00 2001 From: Joe Robinson Date: Wed, 19 Apr 2017 17:26:31 +0100 Subject: Handle other users being kicked --- IrcHandler.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'IrcHandler.py') diff --git a/IrcHandler.py b/IrcHandler.py index 4fb494d..f0f14a9 100644 --- a/IrcHandler.py +++ b/IrcHandler.py @@ -129,6 +129,16 @@ class IrcHandler(QObject): user_list.remove_nick(nickStr) chat_area.append(nickStr + " quit (" + quit_msg + ")") + def handle_kick(self, kicked_nick, channelStr, by_nick, reason): + if (channelStr in self.channels): + channel = self.channels.get(channelStr) + user_list = channel.get_view().findChild(QQuickItem, "nick_list") + chat_area = channel.get_view().findChild(QQuickItem, "chat_area") + if (kicked_nick != self.get_nick()): + user_list.remove_nick(kicked_nick) + channel.remove_user(kicked_nick) + chat_area.append(kicked_nick + " was kicked from " + channelStr + " by " + by_nick + " (" + reason +")") + def handle_topic(self, channelStr, topic): if (channelStr in self.channels): channel = self.channels.get(channelStr) @@ -142,6 +152,7 @@ class IrcHandler(QObject): self.irc.nick_sig.connect(self.handle_join) self.irc.part_sig.connect(self.handle_part) self.irc.quit_sig.connect(self.handle_quit) + self.irc.kick_sig.connect(self.handle_kick) self.irc.topic_sig.connect(self.handle_topic) # self.irc.join_sig.connect(self.join_channel) self.irc.start() -- cgit v1.2.3