Python Flask приложение (Telegram Bot) на Heroku не работает - PullRequest
0 голосов
/ 03 апреля 2020

Я использую Heroku для размещения скрипта Telegram Bot в python с использованием Flask. Я прошел весь процесс настройки, включая git, виртуальную среду (#py -m venv env + #env\Scripts\activate и сценарий ... Он не выдает ошибок, но не запускается ... Я ' мы установили Flask и Gunicorn в env:

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

1 Ответ

1 голос
/ 06 апреля 2020

Думаю, проблема связана с procfile. Сначала проверьте, добавляете ли вы gunicorn в requirements.txt файл или нет. По моему мнению, вместо использования Gunicorn просто разверните с Common Procfile.

Попробуйте с этим procfile Procfile.txt - web : python deploy.py

...