我将如何做出反应角色事件。 这是我尝试过的代码
@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")
我想做的是让我的机器人检查对特定消息的反应,然后让用户扮演角色(如果他们对正确的表情符号做出反应)。
答案 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)