Как сделать проверку на снятие роли пользователю

@client.event
async def on_member_update(remove_roles):
    await ctx.channel.send(f'Тест')```
Как сделать проверку на снятие роли участнику. После снятия роли бот отправлял сообщение в чат к примеру: **Пользователю {members.mention} снята роль {role.mentions}
К примеру есть несколько ролей на которые он будет трегерриться
vagos_zam = discord.utils.get(ctx.message.guild.roles, id = 942397028804206615)
ballas_zam = discord.utils.get(ctx.message.guild.roles, id = 942397028804206617)
aztec_zam = discord.utils.get(ctx.message.guild.roles, id = 942397028804206616)
rifa_zam = discord.utils.get(ctx.message.guild.roles, id = 942397028804206614)


Ответы (2 шт):

Автор решения: Максудов Эмиль

Ну во первых

discord.on_member_update(before, after)

принимает параметры before & after Во вторых

@bot.event
async def on_member_update(before, after):
    a = ['role1','role2','role3'] # сюда пихаем имена ваших ролей
    if len(before.roles) < len(after.roles):
        for i in after.roles:
            if not i in before.roles:
                print(type(i.name))
                if i.name in a:
                    print(f"К участнику {before.display_name} добавлена роль {i}")
                    #Ваше действие
    elif len(before.roles) > len(after.roles):
        for i in before.roles:
            if not i in after.roles:
                if i.name in a:
                    print(f"У участника {before.display_name} снята роль {i}")
                    #ваше действие
→ Ссылка
Автор решения: Максудов Эмиль

Также, чтобы отправить сообщение в определенный канал используйте

bot.get_channel(id).send("Ваше сообщение")
→ Ссылка