Morsik2004
@Morsik2004
NeRazeDota

Как сделать выдачу ролей по реакции?

Нужно, чтобы бот создал ембед сообщение и к нему добавил реакции при нажатии которых выдаются определённые роли.
Как должен выглядеть код для выдачи ролей и добавления реакций?
И стоит ли добавлять отдельную коллекцию для таких ембед сообщений (если да то как)?
  • Вопрос задан
  • 717 просмотров
Пригласить эксперта
Ответы на вопрос 1
Надеюсь смог помочь ))

Создаешь сообщение в своей группе и вешаешь на него реакции, а потом добавляешь ID сообщения в код ниже, ну и все что там написано )

@bot.event # Добавить роль по реакции
async def on_raw_reaction_add(payload):
    if payload.message_id == 'ID сообщения - целое число, ковычки удалить' and payload.emoji.name == "Эмодзи рисунком - Пример: ":
        member = payload.member
        await member.add_roles(discord.utils.get(member.guild.roles, name='Название Роли или можете написать id = "И тут вписать без кавычек (name нужно заменить на id)"'))  # Добавление роли и и назначение


@bot.event # Удалить роль по реакции
async def on_raw_reaction_remove(payload):
    if payload.message_id == 'ID сообщения - целое число, ковычки удалить' and payload.emoji.name == "Эмодзи рисунком - Пример: ":
        guild = bot.get_guild(payload.guild_id)
        member = guild.get_member(payload.user_id)
        await member.remove_roles(discord.utils.get(member.guild.roles, name='Название Роли или можете написать id = "И тут вписать без кавычек(name нужно заменить на id)"'))  # Добавление роли и и назначение
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы