我想构建一个根据反应分配角色的机器人。我在做什么错了?
代码:
@client.event
async def on_raw_reacion_add(payload, user):
message_id = payload.message_id
if message_id == 750076609519943811:
guild_id = payload.guild_id
guild = discord.utils.find(lambda g : g.id == guild_id, client.guilds)
if payload.emoji.name == 'Tigre':
role = discord.utils.get(guild.roles, name='+$100.000')
await user.add_roles(role)
编辑:
机器人启动正常,只是对原始反应没有反应
编辑2
什么都没有:(
@client.event
async def on_raw_reaction_add(payload):
if payload.message_id == 750087466765123647:
bbc_emoji = '<:bbc:639345897922101248>'
if payload.emoji.name == bbc_emoji:
print ('working')
答案 0 :(得分:1)
您错误地输入了事件名称,即on_raw_reaction_add
。该事件仅采用一个参数,即payload
。第二个参数不应存在。如果您想获得添加反应的人员,则可以使用payload.member
。表情符号名称将是<:name:id>
而不是"Tigre"
。