“RawReactionActionEvent”对象没有属性“guild”

2024-06-08 08:35:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望bot在用户单击消息反应时为其指定一个特定角色,但我在guild方法上有一个问题,当我单击消息反应时,终端中打印的内容是:

role=discord.utils.get(reaction.guild.roles,name=“skribbl”) AttributeError:“RawReactionActionEvent”对象没有属性“guild”

这是我的代码:

@commands.Cog.listener()
    async def on_raw_reaction_add(self,reaction):
        role = discord.utils.get(reaction.guild.roles, name="skribbl")
        if reaction.message_id == 694520377300484137:
            if reaction.emoji == "❤️":
                reaction.author.add_roles(role)

Tags: 用户nameadd消息角色getifbot
1条回答
网友
1楼 · 发布于 2024-06-08 08:35:10

reaction对象不直接链接到公会。您将需要使用reaction.message.channel.guild而不是reaction.guild

您使用on_raw_reaction_add而不是仅仅使用on_reaction_add还有什么特别的原因吗?99%的时间on_reaction_add会更高效,因为它还使用缓存:reference

相关问题 更多 >