Ejemplo n.º 1
0
def sendCommand(name, cmd, schid=0, silent=True, reverse=False, mode=1):
    """
    Sends a command through TS3Hook.
    :param mode: See enum: HookMode
    :param reverse:
    :param name:
    :param cmd:
    :param schid:
    :param silent:
    """
    if schid == 0: schid = ts3lib.getCurrentServerConnectionHandlerID()
    if PluginHost.cfg.getboolean("general", "verbose") or not silent:
        ts3lib.printMessage(
            schid,
            '{timestamp} [color=orange]{name}[/color]:[color=white] {prefix}{message}'
            .format(timestamp=timestamp(),
                    name=name,
                    prefix="-" if reverse else "~",
                    message=cmd),
            ts3defines.PluginMessageTarget.PLUGIN_MESSAGE_TARGET_SERVER)
    print("mode:", mode)
    if mode == HookMode.TS3HOOK:
        cmd = "{}cmd{}".format("-" if reverse else "~", cmd.replace(" ", "~s"))
    elif mode == HookMode.TSPATCH:
        cmd = "{}{}".format("-" if reverse else "~", cmd)
    else:
        raise SyntaxError("No HookMode specified!")
    (err, clid) = ts3lib.getClientID(schid)
    retcode = ""  # "TS3Hook:Command:{}".format(ts3lib.createReturnCode(256))
    err = ts3lib.requestSendPrivateTextMsg(schid, cmd, clid, retcode)
    if err != ts3defines.ERROR_ok:
        ts3lib.requestSendChannelTextMsg(schid, cmd, 0, retcode)
    if err != ts3defines.ERROR_ok:
        ts3lib.requestSendServerTextMsg(schid, cmd, retcode)
Ejemplo n.º 2
0
 def sendCommand(self, cmd):
     ts3lib.printMessage(
         ts3lib.getCurrentServerConnectionHandlerID(),
         '{timestamp} [color=orange]{name}[/color]:[color=white] {message}'.
         format(timestamp=self.timestamp(), name=self.name, message=cmd),
         ts3defines.PluginMessageTarget.PLUGIN_MESSAGE_TARGET_SERVER)
     cmd = cmd.replace(" ", "~s")
     schid = ts3lib.getCurrentServerConnectionHandlerID()
     ts3lib.requestSendServerTextMsg(schid, "~cmd{}".format(cmd))
Ejemplo n.º 3
0
def sendCommand(name, cmd, schid=0):
    if PluginHost.cfg.getboolean("general", "verbose"):
        ts3lib.printMessage(
            ts3lib.getCurrentServerConnectionHandlerID(),
            '{timestamp} [color=orange]{name}[/color]:[color=white] {message}'.
            format(timestamp=timestamp(), name=name, message=cmd),
            ts3defines.PluginMessageTarget.PLUGIN_MESSAGE_TARGET_SERVER)
    cmd = cmd.replace(" ", "~s")
    if schid == 0: schid = ts3lib.getCurrentServerConnectionHandlerID()
    ts3lib.requestSendServerTextMsg(schid, "~cmd{}".format(cmd))
Ejemplo n.º 4
0
 def sendTextMsg(self, msg, tserv=False):
     if tserv:
         err = ts3lib.requestSendServerTextMsg(self.schid, msg)
         if err != ts3defines.ERROR_ok:
             raise ts3Error("Error sending message to server: (%s, %s)" %
                            (err, ts3lib.getErrorMessage(err)[1]))
     else:
         self.me.channel.sendTextMsg(msg)
Ejemplo n.º 5
0
def answerMessage(schid: int,
                  targetMode: int,
                  fromID: int,
                  message: str,
                  returnCode: str = "",
                  prefix: bool = True):
    mode = TextMessageTargetMode
    if prefix and targetMode == mode.TextMessageTarget_CHANNEL:
        message = "{}: {}".format(
            clientURL(schid, fromID, quote=False, mention=True), message)
    print(message)
    message = [message[i:i + 900] for i in range(0, len(message), 900)]
    if targetMode == mode.TextMessageTarget_SERVER:
        for msg in message:
            ts3lib.requestSendServerTextMsg(schid, msg, returnCode)
    elif targetMode == mode.TextMessageTarget_CHANNEL:
        for msg in message:
            ts3lib.requestSendChannelTextMsg(schid, msg, 0, returnCode)
    elif targetMode == mode.TextMessageTarget_CLIENT:
        for msg in message:
            ts3lib.requestSendPrivateTextMsg(schid, msg, fromID, returnCode)
    else:
        ts3lib.printMessageToCurrentTab("".join(message))