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

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

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽