Задать вопрос
@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. Как ее обработать ?
  • Вопрос задан
  • 70 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 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

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

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

Похожие вопросы