Снятие роли по команде

У меня уже есть команда, которая выдает участникам сервера определенную роль.

Как теперь по еще одной команде снять со всех членов сервера эту роль?


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

Автор решения: RAINGM

Используйте метод remove_roles
Затем итерируйте список участников

@commands.command()
async def remove_role(self, ctx, role: discord.Role):
    for member in ctx.guild.members:
        if role in member.roles:
            await member.remove_roles(role)

@bot.command()
async def remove_role(ctx, role: discord.Role):
    for member in ctx.guild.members:
        if role in member.roles:
            await member.remove_roles(role)

# без указания роли
@bot.command()
async def remove_role(ctx):
    role = discord.utils.get(ctx.guild.roles, id='айди роли')
    for member in ctx.guild.members:
        if role in member.roles:
            await member.remove_roles(role)
→ Ссылка