Мы с напарником пишем дискорд-бота для прослушивания музыки с Яндекс.Музыки:
Наш проект GitHub
Нам нужно заставить бота слушать музыку, не скачивая трек, то есть транслировать его. В этом нам помогли, предоставив такое решение:
Посмотреть код
Но, к сожалению, наших знаний недостаточно, чтобы адаптировать этот код к нашему боту. Мы пытались адаптировать его следующим образом, но это не помогло, потому что ошибка:
Command raised an exception: TypeError: a bytes-like object is required, not 'coroutine'
Наш код:
@bot.command()
async def playGodProgramming(ctx):
channel = ctx.message.author.voice.channel
if not channel:
await ctx.send("Вы не подключены к голосовому чату :(")
return
voice = get(bot.voice_clients, guild=ctx.guild)
if voice and voice.is_connected():
await voice.move_to(channel)
else:
voice = await channel.connect()
url = extract_direct_link_to_track(37971706)
blob = get_track_as_blob_by_url(url)
get_memcached_track(blob)
source = FFmpegPCMAudio(blob.read()) #Error
player = voice.play(source)
#Все методы из кода были перенесены без изменений
Пожалуйста, помоги нам. Мы больше не знаем, что делать