【问题标题】:Python Flask app (Telegram Bot) on Heroku not runningHeroku 上的 Python Flask 应用程序(Telegram Bot)未运行
【发布时间】:2020-07-15 13:20:58
【问题描述】:

我正在使用 Heroku 使用 Flask 在 python 中托管 Telegram Bot 脚本。 我已经完成了所有设置的过程,包括 git、虚拟环境(#py -m venv env + #env\Scripts\activate 和脚本......它没有给出错误但它没有运行...... 我已经在环境中安装了 Flask 和 Gunicorn:

#pip install flask
#set FLASK_APP=app.py
#pip install gunicorn

项目中的文件:

.gitignore ->

env

Procfile ->

web: gunicorn deploy:app

deploy.py ->

import os

from flask import Flask, request

import telebot

TOKEN = 'My token here'
bot = telebot.TeleBot(TOKEN)
app = Flask(__name__)


@bot.message_handler(commands=['start'])
def start(message):
    bot.reply_to(message, 'Hello, ' + message.from_user.first_name)


@bot.message_handler(func=lambda message: True, content_types=['text'])
def echo_message(message):
    bot.reply_to(message, message.text)


@app.route('/' + TOKEN, methods=['POST'])
def getMessage():
    bot.process_new_updates([telebot.types.Update.de_json(request.stream.read().decode("utf-8"))])
    return "!", 200


@app.route("/")
def webhook():
    bot.remove_webhook()
    bot.set_webhook(url='My Url here' + TOKEN)
    return "!", 200


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=int(os.environ.get('PORT', 5000)))

【问题讨论】:

  • 您的代码在本地工作吗?我可以看到它正在运行并且没有抛出任何错误,但它的功能是否符合您的期望?我查看了 PyPI telebot 模块,它看起来还没有完成。
  • mmh.. 我尝试将代码复制并粘贴到另一个文件夹以在我的机器上运行它...由于某种原因仍然无法正常工作...不确定您是否熟悉任何好的编程电报机器人的框架? (使用 Python 或 javascript 或其他语言)@TinNguyen 我正在尝试为 Fridays For Future 建立一个系统
  • P.S.当我在 deploy.py 文件中编辑代码并插入类似于仅以 html 格式输出字符串的内容时,代码可以工作并运行,但是 python Telegram bot 本身的代码似乎没有运行(我复制了并粘贴和修改 PyTelegramBotAPI 的 API 示例中的代码
  • 我以前没有使用过电报,我个人也不使用电报。那里我帮不了你。但是你到目前为止的代码是不可用的。它不会做你期望它做的事情。首先,您所依赖的项目已经严重过时,其次它永远不会工作,因为它们不会混合在一起,因为您依赖于两个相互阻塞的库。重新开始并使用此github.com/python-telegram-bot/python-telegram-bot
  • @TinNguyen 非常感谢!

标签: python flask heroku


【解决方案1】:

我认为与 procfile 相关的问题。首先检查您是否将 gunicorn 添加到 requirements.txt 文件中。根据我的说法,而不是使用 Gunicorn,只需使用 Common Procfile 部署即可。

试试这个 procfile Procfile -- web : python deploy.py

【讨论】:

    猜你喜欢
    • 2021-11-20
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    相关资源
    最近更新 更多