diff --git a/TODO.mkdn b/TODO.mkdn index 552e733..eb1dfc7 100644 --- a/TODO.mkdn +++ b/TODO.mkdn @@ -16,8 +16,6 @@ * Don't make new windows be all in your face and shit * Hide offline friends per group -* LET PEOPLE TURN OFF HONKING - people already rename the soundfile and such to - do this manually * Add support for displaying more verbose information (e.g. Cease messages which tell you more than the abbreviation of who left) @@ -174,6 +172,8 @@ version of the client. There aren't really any other options. * Make console users able to check widget theme/style information via mouseover and key combo (for people making themes or debugging) * This is presently Ctrl+Alt+w, after opening the console (Ctrl+~). +* LET PEOPLE TURN OFF HONKING - people already rename the soundfile and such to + do this manually (append "honk":false to the end of pesterchum.js ; that kills it.) ### Backend * Perpetual code cleanup, refactoring, simplification and general improvements diff --git a/irc.py b/irc.py index 1b01ac5..2c15c9c 100644 --- a/irc.py +++ b/irc.py @@ -349,6 +349,10 @@ class PesterHandler(DefaultCommandHandler): if len(msg) == 0: return # silently ignore CTCP + # Notice IRC /me (The CTCP kind) + if msg[0:8] == '\x01ACTION ': + msg = '/me' + msg[7:-1] + # silently ignore the rest of the CTCPs if msg[0] == '\x01': handle = nick[0:nick.find("!")] logging.warning("---> recv \"CTCP %s :%s\"" % (handle, msg[1:-1])) @@ -497,6 +501,17 @@ class PesterHandler(DefaultCommandHandler): if channel not in self.channelnames: self.channelnames[channel] = [] self.channelnames[channel].extend(namelist) + def ison(self, server, nick, nicks): + nicklist = nicks.split(" ") + getglub = "GETMOOD " + logging.info("---> recv \"ISON :%s\"" % nicks) + for nick_it in nicklist: + self.parent.moodUpdated.emit(nick_it, Mood(0)) + if nick_it in self.parent.mainwindow.namesdb["#pesterchum"]: + getglub += nick_it + if getglub != "GETMOOD ": + helpers.msg(self.client, "#pesterchum", getglub) + def endofnames(self, server, nick, channel, msg): namelist = self.channelnames[channel] pl = PesterList(namelist) @@ -506,12 +521,7 @@ class PesterHandler(DefaultCommandHandler): self.joined = True self.parent.mainwindow.randhandler.setRunning(self.parent.mainwindow.randhandler.randNick in namelist) chums = self.mainwindow.chumList.chums - lesschums = [] - for c in chums: - chandle = c.handle - if chandle in namelist: - lesschums.append(c) - self.getMood(*lesschums) + self.isOn(*chums) def liststart(self, server, handle, *info): self.channel_list = [] @@ -565,3 +575,19 @@ class PesterHandler(DefaultCommandHandler): except socket.error: self.parent.setConnectionBroken() + def isOn(self, *chums): + isonNicks = "" + for c in chums: + chandle = c.handle + if len(chandle) >= 200: + try: + self.client.send("ISON", ":%s" % (isonNicks)) + except socket.error: + self.parent.setConnectionBroken() + isonNicks = "" + isonNicks += " " + chandle + if isonNicks != "": + try: + self.client.send("ISON", ":%s" % (isonNicks)) + except socket.error: + self.parent.setConnectionBroken() diff --git a/menus.py b/menus.py index c404dfc..b5fcd92 100644 --- a/menus.py +++ b/menus.py @@ -1821,6 +1821,7 @@ class AboutPesterchum(QtGui.QDialog): oakwhiz\n\ alGore\n\ Cerxi (binaryCabalist)\n\ + Arcane (arcaneAgilmente)\n\ karxi (Midna)\n\ \n\ Art by:\n\ diff --git a/pesterchum.py b/pesterchum.py index 91ecc7f..9586acf 100644 --- a/pesterchum.py +++ b/pesterchum.py @@ -2922,9 +2922,10 @@ class PesterWindow(MovingWindow): self.newConversation("nickServ") @QtCore.pyqtSlot() def launchHelp(self): - QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://nova.xzibition.com/~illuminatedwax/help.html", QtCore.QUrl.TolerantMode)) + QtGui.QDesktopServices.openUrl(QtCore.QUrl("https://forum.homestuck.xyz/viewtopic.php?f=7&t=467", QtCore.QUrl.TolerantMode)) @QtCore.pyqtSlot() def reportBug(self): + QtGui.QDesktopServices.openUrl(QtCore.QUrl("https://github.com/Dpeta/pesterchum-alt-servers/issues", QtCore.QUrl.TolerantMode)) if hasattr(self, 'bugreportwindow') and self.bugreportwindow: return self.bugreportwindow = BugReporter(self)