Коду не удается получить файл voice телеграмм сообщения

Подрубил ChatGPT к коду, но не удается конвертировать голосовое сообщение в текст т.к в самом начале фейлится на получении файла

@dp.message_handler(content_types=['text', 'voice'])
 async def echo_msg(message: types.Message):
    username = message.from_user.username
    voice_file = None

    # Если это голосовое сообщение, распознаем его и сохраняем текстовое сообщение
    if message.voice:
        # Получаем файл с голосовым сообщением
        voice_note = message.voice
        ogg_file = 'temp.ogg'
        voice_note.download(ogg_file)
        if os.path.exists(ogg_file):
         with open(ogg_file, 'rb') as f:
           ogg_data = f.read()
         opus_data = pyogg.decode(ogg_data)
         pcm_data = pyogg.get_pcm(opus_data)
         r = sr.Recognizer()
         text = r.recognize_google(pcm_data)
         user_message = text
         os.remove(ogg_file)
        else:
           user_message = "скажи - мне Не удалось распознать голосовое сообщение"

    # Если это текстовое сообщение
    elif message.text:
      user_message = message.text

    # Если это первое сообщение от пользователя, новый список для хранения сообщений
    if username not in messages:
       messages[username] = []

    # Добавить сообщение пользователя в список сообщений
    messages[username].append({"role": "user", "content": user_message})
    messages[username].append({"role": "system", "content": "Вы - полезный помощник."})

# Записать сообщение пользователя в журнал
    logging.info(f'{username}: {user_message}')

# Проверь, является ли это сообщение ответом на предыдущее сообщение от бота.
    should_respond = not message.reply_to_message or message.reply_to_message.from_user.id == bot.id

# Если это новое сообщение или сообщение, на которое бот должен ответить.
    if should_respond:
    # Отправить сообщение о том, что бот пишет сообщение
     typing_message = await message.reply("Печатает сообщение...")
    # OpenAI для генерации ответа

p.s изменил немного код, но теперь он просто игнорирует голосовые и отправляет чату команду не удалось распознать текст

# Если это голосовое сообщение, распознаем его и сохраняем текстовое сообщение
    if message.voice:
        # Получаем файл с голосовым сообщением
        voice_note = message.voice
        # Получаем объект файла голосового сообщения
        file_id = message.voice.file_id
        # Получаем путь к файлу голосового сообщения
        file = await bot.get_file(file_id)
        file_path = file.file_path
        # Загружаем файл голосового сообщения и сохраняем его на диск
        voice_note = await bot.download_file(file_path)
        if os.path.exists(file_path):
         with open(file_path, 'rb') as f:
           ogg_data = f.read()
         opus_data = pyogg.decode(ogg_data)
         pcm_data = pyogg.get_pcm(opus_data)
         r = sr.Recognizer()
         text = r.recognize_google(pcm_data)
         user_message = text
         os.remove(file_path)
        else:
           user_message = "скажи - мне Не удалось распознать голосовое сообщение"

Ответы (0 шт):