我希望机器人为那些对消息做出反应的人添加角色并删除另一个角色。
@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
但是当我对该消息做出反应时,什么也没有发生(控制台中也没有任何东西)。
答案 0 :(得分:1)
我认为您在检查表情符号时犯了一个错误。尝试替换它:
if payload.emoji.name == 'white_check_mark':
这样:
if str(payload.emoji) == '✅':
除了表情符号之外,您还可以使用 Unicode \u2705
。
注意:您也可以使用 payload.emoji.name
代替 payload.emoji
。它仍然可以工作。