heroku - webhooks heroku中的Telegram bot python错误
问题描述
我在heroku中部署了一个机器人,但它给出了一个错误
2021-04-03T02:56:36.610385+00:00 app[web.1]: 2021-04-03 02:56:36,604 - apscheduler.scheduler - INFO - Scheduler started
2021-04-03T02:56:37.316107+00:00 app[web.1]: 2021-04-03 02:56:37,315 - telegram.ext.updater - ERROR - Error while bootstrap set webhook: Bad webhook: webhook can be set up only on ports 80, 88, 443 or 8443
2021-04-03T02:56:37.316196+00:00 app[web.1]: 2021-04-03 02:56:37,316 - telegram.ext.updater - ERROR - Failed bootstrap phase after 0 retries (Bad webhook: webhook can be set up only on ports 80, 88, 443 or 8443)
2021-04-03T02:47:04.325287+00:00 app[web.1]: 2021-04-03 02:47:04,317 - telegram.ext.updater - ERROR - unhandled exception in Bot:1718309867:updater
好吧,我尝试了所有端口 80、88、8443,但它又给了我同样的错误。
我的钩子和端口代码:
#change PORT TO HEROKU
PORT = int(os.environ.get('PORT', '8443'))
updater = Updater(SECRET_KEY, use_context=True)
#hook to heroku
updater.start_webhook(listen="0.0.0.0",
port=PORT,
url_path=SECRET_KEY)
updater.bot.set_webhook('https://myapp.herokuapp.com/' + SECRET_KEY)
PS:在本地主机上工作得很好
解决方案
鉴于这个问题的日期,我假设您使用的是 PTB v13.4+。在这种情况下,请查看此频道帖子,即更改
updater.start_webhook(listen="0.0.0.0",
port=PORT,
url_path=SECRET_KEY)
updater.bot.set_webhook('https://myapp.herokuapp.com/' + SECRET_KEY)
至
updater.start_webhook(listen="0.0.0.0",
port=PORT,
url_path=SECRET_KEY,
webhook_url='https://myapp.herokuapp.com/' + SECRET_KEY)
推荐阅读
- rabbitmq - 如何将 RabbitMQ 的 MQTT-Broker(java 中)与运行在 Bosch XDK IOT 设备上的 C 客户端连接
- arrays - 从 Integromat 中的 JSON 调用中删除额外的括号
- angular - EF CORE API 仅在 html2canvas 中不添加 access-control-allow-origin 响应标头
- python - django-q 不停止 Ctrl-C
- javascript - 解决承诺时如何访问 then 范围之外的数据?
- kubernetes - Prometheus alertmanager 由于“超出上下文截止日期”而无法发送通知
- php - [Route: game] [URI: game/{type}] 缺少必需的参数。(查看:C:\xampp\htdocs\game\resources\views\header.blade.php)
- javascript - 如何使用 HTML/Javascript 从另一个页面显示某些内容?
- javascript - 更新对象值 Ramda
- swift - Swift Camera App - 左右启用横向模式