【发布时间】:2021-08-04 20:28:01
【问题描述】:
我试图确保当你输入命令时,会发送一条消息并设置一个反应,并且点击反应的人会获得一个角色,但是当你输入一个命令时,什么都不会发生。 这是代码本身:
@client.command(pass_context=True)
@commands.has_permissions(administrator=True)
async def mp(self, ctx, payload):
emb = discord.Embed(title=f'Праздник вазилина', description='Нажми на реакцию что бы получить роль', colour=discord.Color.purple())
message = await ctx.send(embed=emb) # Возвращаем сообщение после отправки
message.add_reaction('✅')
member = utils.get(message.guild.members, id=payload.user_id)
emoji = str(payload.emoji)
roles = utils.get(message.guild.roles, id=config.ROLE[emoji],)
await member.add_roles(roles)
print('[SUCCESS] Пользователь {0.display_name} получил новую роль {1.name}'.format(member, role))
await member.send('test')
【问题讨论】:
-
你的 bot 不是在等待响应添加,payload 在这里只是一个参数,你需要一个
on_raw_reaction_add事件来处理这个 -
@Ceres 但我可以在活动中发出命令吗?
标签: python discord.py bots