就像机器人不会读取消息的任何其他反应,而只会读取特定消息。
在此代码中添加 reaction.message == msgg
是否有助于解决问题?
(我不知道那个函数是否存在,我也测试过,但对我不起作用)
reaction, user = await client.wait_for("reaction_add")
if user == members.user and str(reaction.emoji) == "✔️":
await members.user.send("your answer is ✔️")
else:
return
答案 0 :(得分:0)
您将检查 reaction.message.content
是否与您想要的消息相同。
reaction, user = await client.wait_for("reaction_add")
if reaction.message.content == "<desired message>":
if user == members.user and str(reaction.emoji) == "✔️":
await members.user.send("your answer is ✔️")
else:
return
答案 1 :(得分:0)
您可以为此使用 on_reaction_add
函数,然后检查用户正在响应的消息是否是所需的消息。
@client.event
async def on_reaction_add(reaction, user):
if user.bot:
return
my_message_id = 1234567
if reaction.message.id == my_message_id
await message.channel.send("Your answer is ✔️")
else:
return
答案 2 :(得分:0)
这适用于 check
函数的 wait_for
参数:
reaction, user = await client.wait_for("reaction_add", check=lambda m: m.id == MESSAGE_ID)
if user == members.user and str(reaction.emoji) == "✔️":
await members.user.send("your answer is ✔️")
else:
return
(Idk 如果 lambda m
和 m.id
对反应有效,您必须对此进行测试)