Telegram Bot(ngrok) 部署到heroku
Posted
技术标签:
【中文标题】Telegram Bot(ngrok) 部署到heroku【英文标题】:Telegram Bot(ngrok) deploy to heroku 【发布时间】:2022-01-20 20:51:55 【问题描述】:我使用烧瓶创建了一个电报机器人,它与 ngrok 完全兼容,但我想将它部署到 Heroku 以供终身使用。
下面是我的 webhook 函数,我在其中使用了这个 ngrok url,但我想使用失败的 heroku url。 谁能帮帮我?
@app.route("/setwebhook")
def setwebhook():
url = "https://f0b7-180-151-17-204.ngrok.io"
s = requests.get("https://api.telegram.org/bot/setwebhook?url=".format(bot_token,url))
if s:
return "Connection established"
else:
return "Connection failed"
if __name__ == "__main__":
app.run(debug="True")
【问题讨论】:
您在日志中遇到了哪些错误?我认为您错过了 PORT,ngrok URL 也需要替换为您的应用程序的 Heroku URL。它是 Flask 应用吗? 是的,它是一个烧瓶应用程序,您可以在这里查看我的完整代码github.com/kaniket7209/telegram-bot-using-ngrok--pep-nik-bot,它与 ngrok 一起工作正常,但我不明白为什么用 heroku url 更改 url 与电报的连接无法建立,但应用程序可以工作... 谁能帮我使用heroku url将此应用程序部署到heroku...我的完整代码链接在这里github.com/kaniket7209/telegram-bot-using-ngrok--pep-nik-bot 【参考方案1】:在 Heroku 上,Flask 应用应该绑定到 $PORT
p = int(os.environ.get("PORT", 5000))
app.run(debug=True, port=p, host='0.0.0.0')
【讨论】:
以上是关于Telegram Bot(ngrok) 部署到heroku的主要内容,如果未能解决你的问题,请参考以下文章
无效的 webhook url 在 Telegram bot 中指定错误
如何让 ngrok 工作的 Telegram webhook?
Telegram Webhook 和 Ngrok 无法正常工作
我的 Telegram Bot 无法读取另一个 Telegram Bot 发送的消息