我正在使用python-telegram-bot制作Telegram机器人,并且需要某种方式来接收语音消息。为此,我需要下载它们,然后,必须获取它们的file_id。但是,MessageHandler可以处理...消息,而Handler给我一个NotImplementedError。有没有办法获取file_id

最佳答案

下载语音消息的最简单方法是使用语音过滤器注册MessageHandler。文档提供有关Filtersvoice module的更多信息。

import telegram
from telegram.ext import Updater

def voice_handler(bot, update):
    file = bot.getFile(update.message.voice.file_id)
    print ("file_id: " + str(update.message.voice.file_id))
    file.download('voice.ogg')

updater = Updater(token='TOKEN')
dispatcher = updater.dispatcher
dispatcher.add_handler(MessageHandler(Filters.voice, voice_handler))

关于python - 如何通过python-telegram-bot接收file_id?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38124973/

10-11 16:40