Python Discord Bot-反应角色

时间:2020-05-01 15:48:45

标签: python discord discord.py

我将如何做出反应角色事件。 这是我尝试过的代码

@client.event
async def on_raw_reaction_add(payload):
    msgID = 05793080854315018
    if payload != None:
        if payload.message_id == msgID:
            if str(payload.emoji) == "✍️":
                await add_roles("cool")

我想做的是让我的机器人检查对特定消息的反应,然后让用户扮演角色(如果他们对正确的表情符号做出反应)。

1 个答案:

答案 0 :(得分:0)

假设您正在使用discord.py 1.3.3,则可以使用以下代码更新代码,以基于特定表情符号添加角色。

您需要添加对公会的引用,以引用您要添加的角色。您还需要将表情符号与payload.emoji的字符串表示形式进行比较。也许值得考虑使用emoji.demojize

尝试:

@client.event
async def on_raw_reaction_add(payload=None):
    msgID = <your message id: int>
    guild = discord.utils.get(client.guilds, name=<your guild name>)
    role = discord.utils.get(guild.roles, name='cool')
    if payload is not None:
        if payload.message_id == msgID:
            if str(payload.emoji) == "✍️":
                await payload.member.add_roles(role)