gpt4 book ai didi

telegram-bot - 如何在 Heroku 上设置 python-telegram-bot webhook?

转载 作者:行者123 更新时间:2023-12-04 04:39:22 28 4
gpt4 key购买 nike

我正在使用 python-telegram-bot 包装器,并且我一直在尝试在 Heroku 上托管一个简单的回声电报机器人 adapting a pre-existing example这适用于 Google App Engine 以及 webhook guide on the wiki ,但无济于事。

我似乎无法让 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'))

最佳答案

在 wiki 中,您会找到最简单的示例。

https://github.com/python-telegram-bot/python-telegram-bot/wiki/Webhooks#heroku

总之,不要尝试使用flask。使用内置的网络服务器。

关于telegram-bot - 如何在 Heroku 上设置 python-telegram-bot webhook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41681632/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com