discord.py выдача ролей по реакции
Написал классическую выдачу роли по реакции. Мной были перепробованы очень многие варианты, которые, к сожалению, не помогли. Самое необъяснимое здесь то, что никакой ошибки нет, но роли не выдаёт. Все права были выданы. Код:
#выдача ролей по реакциям
@client.event
async def on_raw_reaction_add(payload):
messageid = payload.message_id
if messageid == 979979550899454022: #id сообщения
if payload.emoji == '?':
role = discord.utils.get(payload.member.guild.roles, id=976819294623109140) #id роли
await payload.member.add_roles(role, reason='новоприбывший нажал на реакцию')
Ответы (1 шт):
Автор решения: Corrygan
→ Ссылка
Ошибка в этих строках
messageid = payload.channel_id
if messageid == 979979550899454022: #id сообщения
payload.channel_id - это канал, в котором реагируется эмодзи. Вы же каналу придаёте id сообщения, измените код на:
messageid = payload.message_id
if messageid == 979979550899454022: