#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. Отредактировал ответ