Воспроизведение аудиосообщения из юзербота в telegram
Пытаюсь подгрузить файл голосового сообщения из диалога по юзер апи. Хендлер получает файл из сообщения и пытается его воспроизвести, но ловит ошибку, якобы файл битый. Если подложить любой другой файл .ogg, воспроизведение пойдёт нормально, значит дело в каких-то хитростях тг. Сам файл без проблем воспроизводится плеером при открытии из проводника. Не знаю с какой стороны к этому добру подкопаться. Может быть, можно как-то перекодировать его в норм формат.
import os
import pygame
from pyrogram import Client, filters
from pyrogram.handlers import MessageHandler
from pyrogram.types import Message
api_id = os.getenv('API_ID')
api_hash = os.getenv('API_HASH')
DIALOG_CHAT_ID = os.getenv('DIALOG_CHAT_ID')
app = Client(name = 'me_client', api_id=api_id, api_hash=api_hash)
@app.on_message(filters.chat(DIALOG_CHAT_ID))
def voice_message(client: Client, message: Message):
pygame.init()
client.download_media(message.voice, file_name="voice.ogg")
pygame.mixer.init()
pygame.mixer.music.load("downloads\\voice.ogg")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
continue
app.add_handler(MessageHandler(voice_message))
app.run()
Источник: Stack Overflow на русском