此代码适用于通过反应添加角色,但我只能在 payload.emoji.name
中使用自定义表情进行反应,因此当我将其设置为与electric_plug 相等时它不起作用。有什么办法可以解决吗?
async def on_raw_reaction_add(payload):
message_id = payload.message_id
if message_id == 799030902302834698:
guild_id = payload.guild_id
guild = discord.utils.find(lambda g : g.id == guild_id, client.guilds)
if payload.emoji.name == 'electric_plug':
role = discord.utils.get(guild.roles, name='Electrical')
if role is not None:
member = payload.member
if member is not None:
await member.add_roles(role)
else:
print('no member')
else:
print('no role')
答案 0 :(得分:0)
替换 unicode 表情符号的“electric_plug”名称。 Unicode 表情符号看起来像这样:?
您可以通过两种方式获取 unicode 表情符号。
首先,您可以浏览表情符号百科并搜索您想要的表情符号。之后,只需复制他们提供的那个(框应该是这样的):
第二个选项会不和谐,正常输入你想要的 unicode 表情符号(例如“:thumbsup:”),然后在它之前放置一个反斜杠(\
)。类似这样:
之后,发送它,并复制出现的表情符号。它应该与您通常在 Discord 上看到的表情符号版本不同。
获得表情符号后,您的代码应如下所示:
if payload.emoji.name == "?":