首页 > 解决方案 > 检查反应 Discord.py

问题描述

所以我想做一个文字游戏,每次调用命令的作者反应时都会编辑角色。到目前为止,我用于添加反应的代码:

@client.command()
async def test(ctx):
    msg = await ctx.send('Hi')
    up = '⬆'
    down = '⬇'
    left = '⬅'
    right = '➡'
    await msg.add_reaction(up)
    await msg.add_reaction(down)
    await msg.add_reaction(left)
    await msg.add_reaction(right)

这会将向上箭头、向下箭头、向左箭头和向右箭头添加到消息“Hi”。我想看看是否有人点击了箭头,以及该人是否是该命令的作者。如果命令的作者单击箭头反应,我不知道如何获得。任何帮助,将不胜感激。

标签: discord.py

解决方案


如果您正在等待响应,请使用wait_for()事件reaction_add作为位置参数。

要将其限制为调用者,您可以创建一个检查并将其传递checkwait_for(). 检查将接受两个参数,您只需要比较是否ctx.author与检查作者相同。

wait_for()文档中有一个示例

参考资料:https ://discordpy.readthedocs.io/en/latest/ext/commands/api.html?highlight=wait_for#discord.ext.commands.Bot.wait_for


推荐阅读