discord.py wait_for('reaction_add') 工作不正常

时间:2021-06-26 17:40:14

标签: python python-3.x discord discord.py

我正在编写一个不和谐的机器人,机器人在直接消息中向用户提问。它会提出问题,等待回复,然后使用反应系统询问用户是否愿意提交此答案。

enter image description here

这个想法是,如果用户用复选标记作出反应,机器人将继续提出下一个问题,如果用户用叉号作出反应,机器人将重复问题。

然而,在实现这一点时,我遇到了一个问题,即机器人在做出反应时什么也不做。这是我的代码:

def message_check(m):
        return m.author.id == user.id
    
def reaction_check(r, u):
        return u.id == user.id

for question in server_info["questions"]:
        while True:
            await user.send(question)
            msg = await bot.wait_for("message", check=message_check)
            embed = discord.Embed(title="Do you want to submit this answer?", description=msg.content, color=0xff0000)
            reply = await msg.reply(embed=embed)
            await reply.add_reaction("✅")
            await reply.add_reaction("❌")
            reaction, user = await bot.wait_for('reaction_add', check=reaction_check)

            if reaction.emoji == "✅":
                break
            elif reaction.emoji == "❌":
                continue

我已经看过一些关于堆栈溢出的类似问题。这些都没有帮助我:

discord.py wait_for('reaction_add') functioning differently with direct messages

Discord.py: wait_for('reaction_add') not working as intended

我在代码和不和谐应用程序页面上都启用了服务器成员意图。

0 个答案:

没有答案