150_Kirill_150
@150_Kirill_150
FX, Python, C# (Unity), Coding, адепт Linux

Command raised an exception: TypeError: a bytes-like object is required, not 'coroutine'. Как исправить?

Мы с напарником пишем дискорд-бота для прослушивания музыки с Яндекс.Музыки: Наш проект 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)
    #Все методы из кода были перенесены без изменений

Пожалуйста, помоги нам. Мы больше не знаем, что делать
  • Вопрос задан
  • 340 просмотров
Решения вопроса 1
lxstvayne
@lxstvayne
Люблю Python
Функция blob.read() возвращает корутину, очевидно, что нужно её ожидать.
source = FFmpegPCMAudio(await blob.read())
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы