Python 如何让机器人对特定的反应作出反应?不和谐
我正在尝试向我的discord bot添加一个赠品功能,但是我正在尝试的重新滚动功能不起作用。当赠品结束时,它会发送一条信息,说明谁赢得了赠品。这就是我定义的reroll。然后我让机器人等待,看看是否有人对此消息添加了“x”反应。我试图让它,如果有人添加了一个“x”反应,那么它将重做赠品中的赢家选择。如果多个获奖者无效,我也希望重复此函数。但我不确定如何让机器人对某条消息的特定反应做出特定的反应Python 如何让机器人对特定的反应作出反应?不和谐,python,discord,discord.py,discord.py-rewrite,Python,Discord,Discord.py,Discord.py Rewrite,我正在尝试向我的discord bot添加一个赠品功能,但是我正在尝试的重新滚动功能不起作用。当赠品结束时,它会发送一条信息,说明谁赢得了赠品。这就是我定义的reroll。然后我让机器人等待,看看是否有人对此消息添加了“x”反应。我试图让它,如果有人添加了一个“x”反应,那么它将重做赠品中的赢家选择。如果多个获奖者无效,我也希望重复此函数。但我不确定如何让机器人对某条消息的特定反应做出特定的反应 reroll = await channel.send(f'Congratulations! {wi
reroll = await channel.send(f'Congratulations! {winner.mention} won {prize}!')
if reroll.reactions == '❌':
winner2 = random.choice(users)
await channel.send(f'Congratulations! {winner2.mention} won {prize}!')
根据,我们可以在\u reaction\u add(reaction,user)上检查
当消息中添加了反应时调用。类似
在\u message\u edit()上,如果在内部消息中未找到该消息
缓存,则不会调用此事件。考虑使用
在\u raw\u reaction上,改为\u add()
有了它,您基本上可以检查消息
async def on_reaction_add(reaction, user):
if 'Congratulations!' in reaction.message.content and reaction.emoji == '❌':
# do stuff
您可以通过Reaction.Message
Reaction.Message.content