2016-06-30 6 views
0

python-telegram-bot을 사용하여 전보 봇을 만들고 있는데 음성 메시지를 수신 할 방법이 필요합니다. 이를 위해 다운로드해야하며 입니다. file_id을 가져야합니다. 그러나 MessageHandler 핸들 ... 음, 메시지 및 Handler은 나에게 NotImplementedError을 제공합니다. file_id을 얻을 수있는 방법이 있습니까?python-telegram-bot을 통해 file_id를받는 방법은 무엇입니까?

답변

1

음성 메시지를 다운로드하는 가장 쉬운 방법은 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))