#python #discord.py
#python #discord.py
Вопрос:
Я хочу, чтобы мой бот назначал кому-то определенную роль всякий раз, когда кто-то реагирует на определенное сообщение
Код:
@client.event
async def on_raw_reaction_add(reaction, user):
if reaction.message.id == 747566918466273300 and reaction.emoji in "✅":
role = discord.utils.get(user.server.roles, name="Member")
await bot.add_roles(user, role)
и я получаю ошибку:
Ignoring exception in on_raw_reaction_add
Traceback (most recent call last):
File "C:UsersBrukerAppDataLocalProgramsPythonPython37libsite-packagesdiscordclient.py", line 312, in _run_event
await coro(*args, **kwargs)
TypeError: on_raw_reaction_add() missing 1 required positional argument: 'user'
Спасибо
Ответ №1:
Вы получаете это исключение, потому что on_reaction_add
событие не принимает user
или reaction
параметр, вы должны использовать payload
вместо этого, например:
@client.event
async def on_raw_reaction_add(payload):
# Code here
Затем для остальной части вашего кода:
if payload.message.id == 747566918466273300 and payload.emoji.name == "✅":
role = discord.utils.get(payload.guild.roles, name="Member")
await payload.author.add_roles(role)