如何将角色分配给原始反应?

时间:2020-08-31 20:13:39

标签: python discord discord.py

我想构建一个根据反应分配角色的机器人。我在做什么错了?

代码:

@client.event
async def on_raw_reacion_add(payload, user):
    message_id = payload.message_id

    if message_id == 750076609519943811:
        guild_id = payload.guild_id
        guild = discord.utils.find(lambda g : g.id == guild_id, client.guilds)

        if payload.emoji.name == 'Tigre':
            role = discord.utils.get(guild.roles, name='+$100.000')
            await user.add_roles(role)

编辑:

机器人启动正常,只是对原始反应没有反应

编辑2

什么都没有:(

@client.event
async def on_raw_reaction_add(payload):
    if payload.message_id == 750087466765123647:

        bbc_emoji = '<:bbc:639345897922101248>'

        if payload.emoji.name == bbc_emoji:
            print ('working')

1 个答案:

答案 0 :(得分:1)

您错误地输入了事件名称,即on_raw_reaction_add。该事件仅采用一个参数,即payload。第二个参数不应存在。如果您想获得添加反应的人员,则可以使用payload.member。表情符号名称将是<:name:id>而不是"Tigre"