python - 机器人不想在反应中添加角色
问题描述
我希望机器人为那些对消息做出反应的人添加角色并删除另一个角色。
@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
但是当我对该消息做出反应时,什么也没有发生(控制台中也没有任何东西)。
解决方案
我认为您在检查表情符号时犯了一个错误。尝试替换这个:
if payload.emoji.name == 'white_check_mark':
有了这个:
if str(payload.emoji) == '✅':
作为表情符号的替代品,您可以使用 Unicode \u2705
。
注意:您也可以使用payload.emoji.name
代替payload.emoji
. 它仍然会工作。
推荐阅读
- javascript - 访问 Javascript 函数变量
- vbscript - 如何使用模式查找文件?
- c# - 查找与“某人”在同一职位上工作的员工
- javascript - 在 Electron 应用程序中流式传输视频的最有效方式?(获取用户媒体?)
- java - leiningen、lein、clojure 使用 lein_tool_deps 插件在代理服务器后面构建
- rust - 对向量的最后一个值进行可变引用
- python - 熊猫时间戳到posix转换的奇怪行为
- javascript - 将对象数组传递给 curl
- javascript - 如何将返回承诺的函数推送到接受参数的数组
- wxwidgets - 为什么编译openbabel时找不到wxWidgets?