def updateServer(self, schid, ownID=0): from unidecode import unidecode if not ownID: (err, ownID) = ts3lib.getClientID(schid) (err, name) = ts3lib.getServerVariable( schid, ts3defines.VirtualServerProperties.VIRTUALSERVER_NAME) self.activity["details"] = unidecode(name) server_type = getServerType(schid) if server_type == ServerInstanceType.TEASPEAK: self.activity["assets"]["large_text"] = "TeaSpeak" self.activity["assets"]["large_image"] = "teaspeak" elif server_type == ServerInstanceType.VANILLA: self.activity["assets"]["large_text"] = "TeamSpeak 3" self.activity["assets"]["large_image"] = "teamspeak" elif server_type == ServerInstanceType.SDK: self.activity["assets"]["large_text"] = "TeamSpeak 3 SDK" self.activity["assets"]["large_image"] = "teamspeak" else: self.activity["assets"]["large_text"] = "Unknown" self.activity["assets"]["large_image"] = "broken_image" self.update = True
def onUpdateClientEvent(self, schid, clid, invokerID, invokerName, invokerUID): if schid != self.waiting_for[0]: return if clid != self.waiting_for[1]: return self.waiting_for = (0, 0) (err, uid) = ts3lib.getClientVariable( schid, clid, ts3defines.ClientProperties.CLIENT_UNIQUE_IDENTIFIER) if err != ts3defines.ERROR_ok: uid = "" (err, mytsid) = ts3lib.getClientVariable(schid, clid, 61) if err != ts3defines.ERROR_ok or not mytsid: if schid in self.mytsids and clid in self.mytsids[schid]: mytsid = self.mytsids[schid][clid] else: mytsid = "" (err, name) = ts3lib.getClientVariable( schid, clid, ts3defines.ClientProperties.CLIENT_NICKNAME) if err != ts3defines.ERROR_ok: name = "" self.clid = clid type = getServerType(schid) (err, ip) = ts3lib.getConnectionVariable( schid, clid, ts3defines.ConnectionProperties.CONNECTION_CLIENT_IP) if (err != ts3defines.ERROR_ok or not ip) or (ip and ip == "None"): retcode = ts3lib.createReturnCode() self.retcodes.append(retcode) ts3lib.requestConnectionInfo(schid, clid, retcode) (err, ip) = ts3lib.getConnectionVariable( schid, clid, ts3defines.ConnectionProperties.CONNECTION_CLIENT_IP) if not self.dlg: self.dlg = BanDialog(self, schid, clid, uid, name, ip, mytsid, "", type) else: self.dlg.setup(self, schid, clid, uid, name, ip, mytsid, ip, type) self.dlg.show() self.dlg.raise_() self.dlg.activateWindow()