我目前使用Python Discord预制脚本连接到Discord频道。我把它设置得很好,它的工作原理。我能够创建命令并使其成为我想要的。但是我想知道是否有可能在Discord上发送像!dir,!net use,!wmic等命令,并让它在连接的客户端上运行,就像它直接与机器交互一样。像一个shell,但通过Discord?
我当前的代码是在此处找到的脚本:https://github.com/Rapptz/discord.py
我一直在使用套接字并使用子进程,但不知道如何使用Discord API执行此操作。
答案 0 :(得分: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或者我想要的任何命令,机器人将像执行命令一样执行它们。