summaryrefslogtreecommitdiff
path: root/IrcHandler.py
diff options
context:
space:
mode:
authorJoe Robinson <joe@lc8n.com>2017-04-15 18:04:05 +0200
committerJoe Robinson <joe@lc8n.com>2017-04-15 18:04:05 +0200
commitd1879fae05beb4e84f7c738b981381c98e98b991 (patch)
tree96b48524fdd01a4fc3102600af4066d375ed9f13 /IrcHandler.py
parent166a8206a3747628182a97acbc25bf393e78eac9 (diff)
Add join and part handling
Diffstat (limited to 'IrcHandler.py')
-rw-r--r--IrcHandler.py37
1 files changed, 30 insertions, 7 deletions
diff --git a/IrcHandler.py b/IrcHandler.py
index 8b1b318..ff2053b 100644
--- a/IrcHandler.py
+++ b/IrcHandler.py
@@ -10,9 +10,9 @@ class IrcHandler(QObject):
def __init__(self, window):
super(self.__class__, self).__init__()
self.channels = {}
- self.nick = ""
+ self.nick = "wtest"
self.server = "irc.blatech.net"
- self.irc = IrcConnection.ircConnectThread()
+ self.irc = IrcConnection.ircConnectThread(self)
self.window = window
def get_channels():
@@ -30,10 +30,10 @@ class IrcHandler(QObject):
def set_server(server):
self.server = server
- def get_nick():
+ def get_nick(self):
return self.nick
- def set_nick(nick):
+ def set_nick(self, nick):
self.nick = nick
@pyqtSlot(str)
@@ -71,11 +71,11 @@ class IrcHandler(QObject):
if channelStr in self.channels:
channel = self.channels[channelStr]
chat_area = channel.get_view().findChild(QQuickItem, "chat_area")
- chat_area.append(msg)
+ chat_area.append(nick + ": " + msg)
@pyqtSlot(str, str)
def handle_nicks(self, channelStr, users):
- userlist = users.split(" ")
+ userlist = users.split(" ")[0:-1]
if (channelStr in self.channels):
channel = self.channels.get(channelStr)
channel.set_users(userlist)
@@ -83,11 +83,34 @@ class IrcHandler(QObject):
for user in userlist:
user_list.add_nick(user)
+ def handle_join(self, channelStr, user):
+ if (channelStr in self.channels):
+ channel = self.channels.get(channelStr)
+ channel.add_user(user)
+ user_list = channel.get_view().findChild(QQuickItem, "nick_list")
+ chat_area = channel.get_view().findChild(QQuickItem, "chat_area")
+
+ if (user != self.get_nick()):
+ user_list.add_nick(user)
+ chat_area.append(user + " joined " + channelStr)
+
+
+ def handle_part(self, channelStr, user):
+ if (channelStr in self.channels):
+ channel = self.channels.get(channelStr)
+ channel.remove_user(user)
+ user_list = channel.get_view().findChild(QQuickItem, "nick_list")
+ chat_area = channel.get_view().findChild(QQuickItem, "chat_area")
+ if (user != self.get_nick()):
+ user_list.remove_nick(user)
+ chat_area.append(user + " left " + channelStr)
+
def connect_to_irc(self, view):
self.irc.sig.connect(self.handle_msg)
self.irc.join_sig.connect(self.join_channel)
self.irc.namreply_sig.connect(self.handle_nicks)
- # self.irc.nick_sig.connect(self.add_nick)
+ self.irc.nick_sig.connect(self.handle_join)
+ self.irc.part_sig.connect(self.handle_part)
# self.irc.join_sig.connect(self.join_channel)
self.irc.start()
self.sig.connect(self.irc.send_msg)