summaryrefslogtreecommitdiff
path: root/IrcConnection.py
diff options
context:
space:
mode:
authorJoe Robinson <joe@lc8n.com>2017-04-15 16:08:40 +0200
committerJoe Robinson <joe@lc8n.com>2017-04-15 16:08:40 +0200
commit166a8206a3747628182a97acbc25bf393e78eac9 (patch)
tree7725fbfd060ed4ac0e6ec698ab2eb20199b699b5 /IrcConnection.py
parentcb1429328b11e1acef99e4c5730e55e3384b19fd (diff)
Handle joining of channels, tab UI, probably some other things
Diffstat (limited to 'IrcConnection.py')
-rw-r--r--IrcConnection.py29
1 files changed, 17 insertions, 12 deletions
diff --git a/IrcConnection.py b/IrcConnection.py
index e51e4e3..4a1d9ed 100644
--- a/IrcConnection.py
+++ b/IrcConnection.py
@@ -1,14 +1,18 @@
from PyQt5.QtCore import QUrl, QThread, pyqtSignal, QObject, pyqtSlot, Qt
import irc.client
+import IrcHandler
+
class ircConnectThread(QThread):
- sig = pyqtSignal(str)
+ sig = pyqtSignal(str, str, str)
nick_sig = pyqtSignal(str, str)
join_sig = pyqtSignal(str)
+ namreply_sig = pyqtSignal(str, str)
def __init__(self):
QThread.__init__(self)
self.reactor = irc.client.Reactor()
self.server = self.reactor.server()
+ self.handler = IrcHandler.IrcHandler
def __del__(self):
self.wait()
@@ -31,25 +35,24 @@ class ircConnectThread(QThread):
def on_connect(self, connection, event):
if irc.client.is_channel("#wtest"):
- connection.join("#wtest")
+ self.join_sig.emit("#wtest")
return
def on_pubmsg(self, connection, event):
- self.sig.emit(event.source + ": " + event.arguments[0])
+ print(event)
+ self.sig.emit(event.target, event.source, event.arguments[0])
def on_privmsg(self, connection, event):
- self.sig.emit(event.source + ": " + event.arguments[0])
+ self.sig.emit(event.source, "", event.arguments[0])
def on_join(self, connection, event):
print(event)
nick = event.source.split("!")[0]
self.nick_sig.emit(event.target, event.source.split("!")[0])
- self.sig.emit(event.source + " joined " + event.target)
+ self.sig.emit(event.target, "", event.source + " joined " + event.target)
def on_names(self, connection, event):
print(event)
- for nick in event.arguments[2].split(" "):
- if (nick.strip() != ""):
- self.nick_sig.emit(event.arguments[1], nick)
+ self.namreply_sig.emit(event.arguments[1], event.arguments[2])
@pyqtSlot(str, str)
def send_msg(self, channel, message):
@@ -59,7 +62,9 @@ class ircConnectThread(QThread):
self.server.privmsg(channel, message)
print(message)
- def handle_join(self, message):
- print(message)
- self.c.join(message.split(" ")[1])
- self.join_sig.emit(message.split(" ")[1])
+ @pyqtSlot(str)
+ def join_channel(self, channel):
+ print(channel)
+ self.c.join(channel)
+ #TODO: handle errors such as invalid/passworded channel
+ return True