@IgnorGTO

Что я делаю не так discord.py функция on_reaction_add?

При нажатие на определенные emoji нечего не происходит
@bot.event
async def on_reaction_add(payload):
    message_id = payload.message_id
    if message_id == 815096737521467403:
        guild_id = payload.guld_id
        guild = discord.utils.find(lambda g: g.id == guild_id, bot.guilds)
        if payload.emoji.name == 'dota':
            role = discord.utils.get(guild.roles, name='Dota 2')
        elif payload.emoji.name == 'csgo':
            role = discord.utils.get(guild.roles, name='CS:GO')
        elif payload.emoji.name == 'wor':
            role = discord.utils.get(guild.roles, name='World of Tanks ')
        elif payload.emoji.name == 'Arma3':
            role = discord.utils.get(guild.roles, name='Arma 3')
        elif payload.emoji.name == 'Escapefromtarkov':
            role = discord.utils.get(guild.roles, name='Escape from Tarkov')
        elif payload.emoji.name == 'logo_gta_v':
            role = discord.utils.get(guild.roles, name='GTA V')
        elif payload.emoji.name == 'squad':
            role = discord.utils.get(guild.roles, name='Squad')
        elif payload.emoji.name == 'Athenas_Fortune_icon':
            role = discord.utils.get(guild.roles, name='Sea of Thieves')
        elif payload.emoji.name == 'rust':
            role = discord.utils.get(guild.roles, name='Rust')
        elif payload.emoji.name == 'stalker':
            role = discord.utils.get(guild.roles, name='Stalker Online')
        # elif payload.emoji.name == 'r6c':
        #     role = discord.utils.get(guild.roles, name='Tom Clancy`s Rainbow Six: Siege')
        else:
            role = discord.utils.get(guild.roles, name=payload.emoji.name)

        if role is not None:
            member = discord.utils.find(lambda m: m.id == payload.user_id, guild.members)
            if member is not None:
                await member.add_roles(role)
                print("done")
            else:
                print("Member not fount")
        else:
            print("Role not fount")


Предскажите что я сделал не так
  • Вопрос задан
  • 294 просмотра
Пригласить эксперта
Ответы на вопрос 1
@kirillinyakin
А зачем проверка на message_id? Вам возможна нужна провека на id пользователя
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы