@Kenity

Как обработать ошибку?

У меня есть кусок кода
@slash.slash(name = "DateBase", description	= "Работает только для разроботчика бота")
	
	async def DataBase(ctx):
		print(ctx.author)
		conn = sqlite3.connect("warn.db")
		cur = conn.cursor()
		for row in cur.execute("SELECT * FROM users"):
			print(row)
		conn.close()


Если указать @commands.has_permissions(Administator = True) и если команду использует пользователь без администратора, то бот выведет ошибку в консоль: discord.ext.commands.errors.MissingPermissions: You are missing Administrator permission(s) to run this command. Как ее обработать ?
  • Вопрос задан
  • 68 просмотров
Решения вопроса 2
fenrir1121
@fenrir1121
Начни с документации
К рабочим вышеописанным вариантам добавлю еще третий:

Любую необработанную ошибку discord.py перенаправляет в событие on_command_error и можно еще там их обрабатывать.
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
Что-то типа
@DataBase.error
async def DataBase_error(ctx, error):
    pass  # тут твоя обработка. error - объект исключения, потомок discord.ext.commands.CommandError

По точному классу исключения можно понять, что именно произошло.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы