Здравствуйте я хочу сделать выдачу ролей по реакциям но я уже делал и не получилось код я удалил прошу в вас помощи так чтобы реакции можно было поставить командой например
!reaction айди сообщения, реакция
Библиотека discord.py типа как тут
Вот мой код
data = {
'ID сообщения':{
'channel':ID канала сообщения,
'roles':{
'✅':ID роли 1,
'️':ID роли 2
}
}
}
@bot.event
async def on_raw_reaction_add(payload):
global data
if str(payload.message_id) in data:
try:
channel = bot.get_channel(data[str(payload.message_id)]['channel'])
message = await channel.fetch_message(payload.message_id)
member = get(message.guild.members, id=payload.user_id)
role = get(message.guild.roles, id=data[str(payload.message_id)]['roles'][str(payload.emoji)])
if not member.bot:
await member.add_roles(role)
except:
pass
@bot.event
async def on_raw_reaction_remove(payload):
global data
if str(payload.message_id) in data:
try:
channel = bot.get_channel(data[str(payload.message_id)]['channel'])
message = await channel.fetch_message(payload.message_id)
member = get(message.guild.members, id=payload.user_id)
print(payload.emoji)
role = get(message.guild.roles, id=data[str(payload.message_id)]['roles'][str(payload.emoji)])
if not member.bot:
await member.remove_roles(role)
except:
pass