Discord.py Bot 在对消息做出反应后赋予用户角色

时间:2021-05-11 20:48:41

标签: python discord.py

我想创建一个机器人,在用户对消息做出反应后提供角色。

不幸的是,我当前的代码无法正常工作。

async def on_reaction_add(self, reaction, user):
    verifiziert = discord.utils.get(user.guild.roles, name="verifiziert")
    if str(reaction.emoji) == ":white_check_mark:":
        await user.add_roles(verifiziert)

1 个答案:

答案 0 :(得分:0)

您可能想要使用 on_raw_reaction_add() Event Reference 而不是 on_reaction_add() 事件引用。这是因为 payload 隐式传递给 discord.pyon_raw_reaction_add() 参数比 reaction 传递的 useron_reaction_add() 参数提供了更多信息。< /p>

async def on_raw_reaction_add(payload):
    role = discord.utils.get(payload.member.guild.roles, name="verifiziert")
    if payload.emoji.name == u"\u2705":
        await payload.member.add_roles(role)

请注意,u"\u2705":white_check_mark: 表情符号的 Unicode 等效项。