首页 > 解决方案 > 从 on_raw_reaction_add discord.py 中检索消息

问题描述

我一直在努力让机器人使用 删除反应discord.Message.remove_reaction(),但我找不到实际检索消息并将其存储在变量中的方法。有人知道怎么做这个吗?

这是我到目前为止的代码:

@client.event
async def on_raw_reaction_add(self):
    if self.message_id == 805179023641542726:
        channel = client.get_channel(self.channel_id)
        message = ???
        user = client.get_user(self.user_id)
        await message.remove_reaction(self.emoji,user)

标签: pythondiscord.py

解决方案


on_raw_reaction_add返回RawReactionActionEvent具有message_id属性的 a。您可以将其传递discord.abc.Messageable.fetch_message给以检索消息:

@client.event
async def on_raw_reaction_add(payload):
    channel = client.get_channel(payload.channel_id)
    message = await channel.fetch_message(payload.message_id)
    user = client.get_user(payload.user_id)
    await message.remove_reaction(payload.emoji,user)

参考:discord.py 文档


推荐阅读