музыкальный бот для дискорда не начинает воспроизведения трека, а просто пишет в чат ошибку
видео с ютуба он качает
но не начинает проигрывание
кусочек кода:
@bot.command(name='go', help='Выбор видео с ютуба, звуковая дорожка которого будет воспроизводится.')
async def go(ctx, url):
try:
server = ctx.message.guild
voice_channel = server.voice_client
async with ctx.typing():
filename = await YTDLSource.from_url(url, loop=bot.loop)
voice_channel.play(discord.FFmpegPCMAudio(executable='ffmpeg.exe', source=filename))
await ctx.send('СЕЙЧАС ИГРАЕТ: {}'.format(filename))
except:
await ctx.send("Не удалось выполнить команду, обратитесь к разработчику")
YTDLSource:
ytdl = youtube_dl.YoutubeDL(ytdl_format_options)
class YTDLSource(discord.PCMVolumeTransformer):
def __init__(self, source, *, data, volume=0.5):
super().__init__(source, volume)
self.data = data
self.title = data.get('title')
self.url = ""
@classmethod
async def from_url(cls, url, *, loop=None, stream=False):
loop = loop or asyncio.get_event_loop()
data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=not stream))
if 'entries' in data:
data = data['entries'][0]
filename = data['title'] if stream else ytdl.prepare_filename(data)
return filename