Воспроизведение плейлиста youtube-dl
Создаю бота, который без скачивания видео воспроизводит звук из видео в голосовой канал дискорд. С использованием одного видео всё работает нормально, но вот как использовать каждое видео плейлиста я не разобрался.
Воспроизведение:
YDL_OPTIONS = {'format': 'bestaudio'}
while is_play:
for music in musics:
with youtube_dl.YoutubeDL(YDL_OPTIONS) as ydl:
info = ydl.extract_info(music, download=False)
url = info['formats'][0]['url']
vc.play(disnake.FFmpegPCMAudio(url, **FFMPEG_OPTIONS))
while vc.is_playing():
await sleep(1)
Всё работает, но когда цикл доходит до плейлиста - ошибка:
Ошибка:
Ignoring exception in command play:
Traceback (most recent call last):
File "C:\Kirill\Python\lib\site-packages\disnake\ext\commands\core.py", line 173, in wrapped
ret = await coro(*args, **kwargs)
File "c:\Kirill\Projects\бизнес\0001\music.py", line 39, in play
url = info['formats'][0]['url']
KeyError: 'formats'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Kirill\Python\lib\site-packages\disnake\ext\commands\bot_base.py", line 591, in invoke
await ctx.command.invoke(ctx)
File "C:\Kirill\Python\lib\site-packages\disnake\ext\commands\core.py", line 914, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:\Kirill\Python\lib\site-packages\disnake\ext\commands\core.py", line 182, in wrapped
raise CommandInvokeError(exc) from exc
disnake.ext.commands.errors.CommandInvokeError: Command raised an exception: KeyError: 'formats'
Возможно ли как-то брать список ссылок видео из плейлиста или что-то в этом роде?