我正在使用python-telegram-bot
制作Telegram机器人,并且需要某种方式来接收语音消息。为此,我需要下载它们,然后,必须获取它们的file_id
。但是,MessageHandler
可以处理...消息,而Handler
给我一个NotImplementedError
。有没有办法获取file_id
?
最佳答案
下载语音消息的最简单方法是使用语音过滤器注册MessageHandler。文档提供有关Filters和voice 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/