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'))