所以,我想让我的不和谐机器人有一个调查命令,如果用户说“#survey”之类的内容,那么机器人就会用私信告诉他们这个问题。然后我想让机器人通过 DM 将响应(用户使用 DM 中的命令进行响应)发送给我?这可能吗?
我知道当机器人在不和谐服务器中使用命令时如何使机器人成为用户,但它向我发送响应部分我无法理解。
我是 Discord.py 的新手,但在询问此问题以检查是否可以找到任何相关内容之前,我已经浏览了文档。
这也是我在这个网站上提出的第一个问题,我刚刚注册,所以如果写得不好,请原谅。
提前致谢!
我认为您遇到问题的部分是捕获响应。 discord.py
overloads the function(args, *, kwargs)
命令语法,因此 *
之后的单个参数是消息其余部分的文本。
from discord.ext.commands import Bot
bot = Bot('#')
my_user_id = "<Your ID>"
# You can get your id through the discord client, after activating developer mode.
@bot.command(pass_context=True)
async def survey(ctx):
await bot.send_message(ctx.message.author, "What's your name?")
@bot.command(pass_context=True)
async def respond(ctx, *, response):
owner = await bot.get_user_info(my_user_id)
await bot.send_message(owner, "{} responded: {}".format(ctx.message.author.name, response))
bot.run("token")
我是一名优秀的程序员,十分优秀!