Как мне удалить все роли discord простым способом?

#python #discord #discord.py

#python #Discord #discord.py

Вопрос:

У меня есть куча серверов, где я хотел бы удалить все роли, которые я ранее создал, но их количество оставляет желать лучшего…

Вместо традиционного упоминания указанных ролей (что является ошибочным и довольно медленным) Я не смог выяснить, как это закодировать, чтобы команда могла быть запущена, и все роли ниже бота могут быть удалены автоматически.

код, который я придумал:

 async def delrole(ctx, *, roles: discord.Role):
    for role in roles:
        try:
            await client.delete_role(ctx.message.guild, role)
        except discord.Forbidden:
            await client.say("Cannot delete this role!")
 

Любой ввод будет высоко оценен! Спасибо

Ответ №1:

Вы используете старую асинхронную версию discord.py , вот ваш фиксированный код:

 for role in ctx.guild.roles:
    try:
        await role.delete()
    except discord.Forbidden:
        await ctx.send(f'Cannot delete this role {role}')
 

Пожалуйста, ознакомьтесь с документацией discord.py-rewrite

Комментарии:

1. Это правда, но на самом деле не отвечает на его вопрос. Он хотел иметь возможность удалять все роли, не упоминая их.

2. Отредактировал ответ