首页 > 解决方案 > 机器人不想在反应中添加角色

问题描述

我希望机器人为那些对消息做出反应的人添加角色并删除另一个角色。

@client.event
async def on_raw_reaction_add(payload):
    rUnauthorized=payload.member.guild.get_role(672473730114387968)
    rMember=payload.member.guild.get_role(672473925053055036)
    if payload.message_id==679223445258633216:
        if payload.emoji.name=='white_check_mark':
            print('Sucess!')
            await payload.member.add_roles(rMember)
            await payload.member.remove_roles(rUnauthorized)
        else:
            return

但是当我对该消息做出反应时,什么也没有发生(控制台中也没有任何东西)。

标签: pythonpython-3.xdiscorddiscord.py

解决方案


我认为您在检查表情符号时犯了一个错误。尝试替换这个:

if payload.emoji.name == 'white_check_mark':

有了这个:

if str(payload.emoji) == '✅':

作为表情符号的替代品,您可以使用 Unicode \u2705

注意:您也可以使用payload.emoji.name代替payload.emoji. 它仍然会工作。


推荐阅读