首页 > 解决方案 > 如何对特定消息做出反应 (discord.py)

问题描述

我正在编写一个建议机器人,它应该将玩家的建议发送到我服务器中的建议频道,并在建议频道中使用一些表情符号做出反应。

问题是使用“消息”作为消息参数会对发送的消息做出反应以触发代码,但我希望它对机器人发送到建议频道的消息做出反应。我对编码很陌生。如何让机器人对不同频道中的消息做出反应?

text_channel = client.get_channel('527127778982625291')
msg = 'Your suggestion has been sent to '+str(text_channel.mention)+' to be voted on!'
await client.send_message(message.channel, msg)
msg = str(message.author.mention)+' suggested "'+str(repAdder)+'"'
await client.send_message(discord.Object(id='527127778982625291'), msg)
print(message)
await client.add_reaction(bot_message, ":yes:527184699098136577")
await client.add_reaction(bot_message, ":no:527184806929235999")
await client.add_reaction(bot_message, '')

标签: discorddiscord.py

解决方案


您需要将反应添加到机器人发送的消息,而不是用户发送的消息。将 bot-sent-message 作为 Message 对象传递给 client.add_reaction() 而不是原始消息应该可以解决问题。


推荐阅读