youtube-dl для python: Как я могу получить код ошибки при отсутствии результатов видео?

#python #discord.py #youtube-dl

#python #discord.py #youtube-dl

Вопрос:

Я использую youtube-dl для моего бота discord и default_search: auto для поиска видео. Но моя проблема в том, что когда я ищу что-то бессмысленное вроде adhsdgfasj, это возвращает это на консоль: ERROR: [youtube] No video results . Я хочу обработать эту ошибку, и когда эта ошибка возникает, я хочу, чтобы бот говорил что-то вроде «Нет результатов видео», но поскольку это не выдает мне код ошибки, подобный тому, который я могу использовать в try: except: я не могу с этим справиться. Вы можете мне помочь?

Ответ №1:

Какие опции вы предоставляете youtube dl. Если вы хотите перехватить исключение, вам нужно установить ignoreerrors в True

 opts = {
    'ignoreerrors': False
}

youtube_dl.YoutubeDL(opts)
  

Это позволит вам перехватывать исключения, предоставляемые youtube-dl.

Еще один способ, которым вы могли бы это сделать, — проверить, является ли возвращаемое значение None или если возвращаемый dict имеет что-либо в retval["entries"] списке. Когда оба оцениваются как False, результаты не были найдены.