【问题标题】:Bot don't want to remove member's reaction机器人不想删除成员的反应
【发布时间】:2021-05-13 13:36:46
【问题描述】:

我的服务器上有一个授权系统。当成员对消息做出反应时,他可以访问聊天等内容。我希望机器人删除成员留下的反应,因此对消息的反应数将始终=1

@client.event
async def on_raw_reaction_add(payload):
    message=payload.reaction.message

    if payload.channel_id==804320454152028170:
        if str(payload.emoji) == '✅':
            await message.remove_reaction("✅", payload.member)
        else:
            return

当我在消息下留下反应时,我收到此错误:

message=payload.reaction.message
AttributeError: 'RawReactionActionEvent' object has no attribute 'reaction'
Ignoring exception in on_message

【问题讨论】:

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


    【解决方案1】:

    阅读您的错误信息!查看docs 你可以很容易地发现payload 根本没有这样的属性。 要从payload 收到消息,您需要执行以下操作

    guild = client.get_guild(payload.guild_id)
    channel = guild.get_channel(payload.channel_id)
    message = await channel.fetch_message(payload.message_id)
    

    【讨论】:

      猜你喜欢
      • 2021-10-10
      • 2021-08-09
      • 2022-10-30
      • 2021-12-11
      • 2019-12-24
      • 1970-01-01
      • 2022-01-18
      • 2021-04-30
      • 2022-01-26
      相关资源
      最近更新 更多