首页 文章

使用Discord接受输入并在连接的客户端上执行

提问于
浏览
0

我目前有Python Discord预制脚本连接到Discord Channels . 我把它设置得很好,它的工作原理 . 我能够创建命令并使其成为我想要的 . 但是我想知道是否有可能在Discord上发送像!dir,!net use,!wmic等命令,并让它在连接的客户端上运行,就像它直接与机器交互一样 . 像一个shell,但通过Discord?

我当前的代码是在这里找到的脚本:https://github.com/Rapptz/discord.py

我一直在使用套接字并使用子进程,但不知道如何使用Discord API执行此操作 .

1 回答

  • 0

    我找到了我正在寻找的答案 .

    if message.content.startswith('!cmd'):
        await client.send_message(message.channel, 'Enter command')
        msg = await client.wait_for_message()
        proc = subprocess.Popen(msg.content, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
                                stdin=subprocess.PIPE)
        stdout_value = proc.stdout.read() + proc.stderr.read()
        await client.send_message(message.channel, stdout_value)
    

    基本上,一旦机器人检测到我说!cmd,它就会要求命令 . 然后我可以输入ipconfig,net user或者我想要的任何命令,机器人将执行它们,就像它在命令提示符中一样 .

相关问题