def onMenuItemEvent(self, schid, atype, menuItemID, selectedItemID): if atype == ts3defines.PluginMenuType.PLUGIN_MENU_TYPE_GLOBAL and menuItemID == 0: error, ownid = ts3lib.getClientID(schid) if not error == ts3defines.ERROR_ok: _t = QMessageBox( QMessageBox.Critical, "Error #%s" % error, "Unable to get own client ID in Tab #%s!" % schid) _t.show() return error, ownchan = ts3lib.getChannelOfClient(schid, ownid) if not error == ts3defines.ERROR_ok: _t = QMessageBox( QMessageBox.Critical, "Error #%s" % error, "Unable to get own channel ID in Tab #%s!" % schid) _t.show() return self.sendMessage( schid, ts3defines.TextMessageTargetMode.TextMessageTarget_CHANNEL, ownchan) elif atype == ts3defines.PluginMenuType.PLUGIN_MENU_TYPE_CLIENT and menuItemID == 0: self.sendMessage( schid, ts3defines.TextMessageTargetMode.TextMessageTarget_CLIENT, selectedItemID) elif atype == ts3defines.PluginMenuType.PLUGIN_MENU_TYPE_CHANNEL and menuItemID == 0: self.sendMessage( schid, ts3defines.TextMessageTargetMode.TextMessageTarget_CHANNEL, selectedItemID)
def onMenuItemEvent(self, schid, atype, menuItemID, selectedItemID): if menuItemID == 0: if not self.dlg: self.dlg = VariablesDialog(self, schid, atype, selectedItemID) self.dlg.show() self.dlg.raise_() self.dlg.activateWindow() else: if atype == PluginMenuType.PLUGIN_MENU_TYPE_GLOBAL: err, ownid = ts3lib.getClientID(schid) if err != ERROR_ok: return if menuItemID == 1: error, meta = ts3lib.getClientVariableAsString( schid, ownid, ClientProperties.CLIENT_META_DATA) if error == ERROR_ok: x = QWidget() _meta = QInputDialog.getMultiLineText( x, "Change own Meta Data", "Meta Data:", meta) if _meta == meta: return error = ts3lib.setClientSelfVariableAsString( schid, ClientProperties.CLIENT_META_DATA, _meta) if not error == ERROR_ok: _t = QMessageBox(QMessageBox.Critical, "Error #%s" % error, "Unable to set own meta data!") _t.show() elif menuItemID == 2: err, flag = ts3lib.getClientVariableAsString( schid, ownid, ClientPropertiesRare.CLIENT_FLAG_AVATAR) ts3lib.printMessageToCurrentTab( "Your current avatar flag is: %s" % flag) x = QWidget() _flag = QInputDialog.getText(x, "Change own Avatar Flag", "Avatar File MD5:") if _flag == "x" or _flag.strip() == flag.strip(): return error = ts3lib.setClientSelfVariableAsString( schid, ClientPropertiesRare.CLIENT_FLAG_AVATAR, _flag) error2 = ts3lib.flushClientSelfUpdates(schid) if not error == ERROR_ok or not error2 == ERROR_ok: _t = QMessageBox(QMessageBox.Critical, "Error", "Unable to set own avatar flag!") _t.show()
def sendMessage(self, schid, targetMode, toID): x = QWidget() clipboard = QApplication.clipboard().text() _message = QInputDialog.getMultiLineText(x, "Enter long text here", "", clipboard) message = [_message[i:i + 1024] for i in range(0, len(_message), 1024)] if targetMode == ts3defines.TextMessageTargetMode.TextMessageTarget_CHANNEL: for msg in message: error = ts3lib.requestSendChannelTextMsg(schid, msg, toID) if not error == ts3defines.ERROR_ok: _t = QMessageBox(QMessageBox.Critical, "Error #%s" % error, "Unable to send message to #%s!" % toID) _t.show() return elif targetMode == ts3defines.TextMessageTargetMode.TextMessageTarget_CLIENT: for msg in message: error = ts3lib.requestSendPrivateTextMsg(schid, msg, toID) if not error == ts3defines.ERROR_ok: _t = QMessageBox(QMessageBox.Critical, "Error #%s" % error, "Unable to send message to #%s!" % toID) _t.show() return