2017-01-16 11 views
4

私はpython-telegram-botラッパーを使用しています。私は、Heoku adapting a pre-existing exampleで、Google App Engineとwebhook guide on the wikiを意味する単純なエコーテレグラムボットをホストしようとしていました。Herokuでpython-telegram-bot webhookを設定するには?

私はWebhookを動作させることができず、ボットがメッセージを正しくエコーすることができないようです。

私は何が間違っているのか分からないようですので、正しい方向で私を指す助けがあれば幸いです!

私の試みは以下の通りです。

import telegram 
from os import environ 
from telegram.ext import Updater 
from flask import Flask, request 
from credentials import TOKEN, APP_URL 

app = Flask(__name__) 

global bot 
bot = telegram.Bot(token=TOKEN) 


@app.route('/' + TOKEN, methods=['POST']) 
def webhook_handler(): 
    if request.method == "POST": 
     # retrieve the message in JSON and then transform it to Telegram object 
     update = telegram.Update.de_json(request.get_json(force=True)) 

     chat_id = update.message.chat.id 

     # Telegram understands UTF-8, so encode text for unicode compatibility 
     text = update.message.text.encode('utf-8') 

     # repeat the same message back (echo) 
     bot.sendMessage(chat_id=chat_id, text=text) 

    return 'ok' 


if __name__ == "__main__": 
    PORT = int(environ.get('PORT', '5000')) 
    updater = Updater(TOKEN) 

    # add handlers 
    updater.start_webhook(listen="0.0.0.0", port=PORT, url_path=TOKEN) 
    updater.bot.setWebhook(APP_URL + TOKEN) 
    updater.idle() 
    app.run(environ.get('PORT')) 

答えて

関連する問題