【问题标题】:How do I react to a message when it's edited消息被编辑时如何对其做出反应
【发布时间】:2021-05-05 20:52:35
【问题描述】:

我一直在寻找答案并没有找到任何东西,我看到了this post并看到了答案,我尝试了它,但它不起作用,我尝试了一些其他的东西,例如@987654322 @ 也是如此,但它们要么已经过时,要么在 python 重写中。我在任何地方都找不到答案。

【问题讨论】:

  • 没有python rewrite之类的东西,我想你说的是discord.py rewrite,也是discord.py版本+1.0.0,所以我很确定它是正确的版本不再支持旧版本

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


【解决方案1】:

我相信您正在寻找on_raw_message_edit 事件:

@bot.event
async def on_raw_message_edit(payload):
    message = payload.cached_message

    if not message:
        channel = bot.get_channel(payload.channel_id)
        message = await channel.fetch_message(payload.message_id)

    await message.add_reaction("?")

在代码中,我们首先检查是否存在缓存消息,以免进行不必要的 API 调用。如果它确实存在,那么我们使用该消息实例。

如果它在机器人的缓存中不存在,那么我们获取通道,并使用通道实例,我们可以获取消息。


参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 2021-04-04
    • 2021-03-05
    • 2019-09-11
    • 2019-05-24
    • 2021-05-14
    • 1970-01-01
    相关资源
    最近更新 更多