Я запрограммировал простого бота, который подключен к API Google Sheets.Он задает пользователю несколько вопросов и сохраняет его на листе, который у меня есть.Когда я использую bot.polling, он работает нормально, но я пробовал webhook, чтобы я мог использовать Heroku, чтобы мой бот работал 24/7.
Я ввел код:
@server.route('/' + token, methods=['POST'])
def getMessage():
bot.process_new_updates([telebot.types.Update.de_json(request.stream.read().decode("utf-8"))])
return "!", 200
@server.route("/")
def webhook():
bot.remove_webhook()
bot.set_webhook(url = '<Heroku App Link>' + token)
return "!", 200
if __name__ == "__main__":
server.run(host="0.0.0.0", port = int(os.environ.get('PORT', 5000)))
У меня есть файл requirements.txt
и Procfile
, который в настоящее время выглядит следующим образом:
web: python3 bot.py
Я попробовал несколько вещей в Procfile
, но это единственный, который не далошибка.
Когда я увидел журнал, вот что я получил:
2019-09-24T10:18:54.369238+00:00 heroku[web.1]: State changed from crashed to starting
2019-09-24T10:19:04.416777+00:00 heroku[web.1]: Starting process with command `python3 bot.py`
2019-09-24T10:19:09.868915+00:00 heroku[web.1]: State changed from starting to up
2019-09-24T10:19:09.790773+00:00 app[web.1]: * Serving Flask app "bot" (lazy loading)
2019-09-24T10:19:09.790800+00:00 app[web.1]: * Environment: production
2019-09-24T10:19:09.790853+00:00 app[web.1]: WARNING: This is a development server. Do not use it in a production deployment.
2019-09-24T10:19:09.790940+00:00 app[web.1]: Use a production WSGI server instead.
2019-09-24T10:19:09.790991+00:00 app[web.1]: * Debug mode: off
2019-09-24T10:19:09.799470+00:00 app[web.1]: * Running on http://0.0.0.0:57826/ (Press CTRL+C to quit)
2019-09-24T10:19:15.000000+00:00 app[api]: Build succeeded
Может кто-нибудь помочь мне понять, почему бот не отвечает ни на какие команды?