from PyQt4 import QtGui, QtCore class RandomHandler(QtCore.QObject): def __init__(self, parent): QtCore.QObject.__init__(self, parent) self.randNick = "randomEncounter" self.mainwindow = parent self.queue = [] # Make True when Lex's new randomEncounter bot (C++) is online self.running = True def getRandomer(self): self.queue.append("?") self.mainwindow.sendNotice.emit("?", self.randNick) def setRandomer(self, r): if r: code = "+" else: code = "-" self.queue.append(code) self.mainwindow.sendNotice.emit(code, self.randNick) @QtCore.pyqtSlot() def getEncounter(self): self.queue.append("!") self.mainwindow.sendNotice.emit("!", self.randNick) def incoming(self, msg): l = msg.split("=") code = l[0][0] if code not in self.queue: return # Ignore if we didn't request this self.queue.remove(code) if code == "?": if l[1][0] == "y": self.mainwindow.userprofile.setRandom(True) elif l[1][0] == "n": self.mainwindow.userprofile.setRandom(False) elif code in ["+","-"]: if l[1][0] == "k": if code == "+": self.mainwindow.userprofile.setRandom(True) else: self.mainwindow.userprofile.setRandom(False) elif code == "!": if l[1] == "x": from PyQt4 import QtGui msgbox = QtGui.QMessageBox() msgbox.setText("Unable to fetch you a random encounter!") msgbox.setInformativeText("Try again later :(") msgbox.exec_() return name = unicode(l[1]) print name self.mainwindow.newConversation(name)