将 Telegram Bot 部署到 Heroku 的问题

问题描述

我向 Heroku 部署了一个 Python Telegram 机器人,但机器人没有响应。

在终端中,输入“heroku logs -t”表示构建成功,但是当我向 Telegram bot 发送 /start 之类的命令时,没有显示任何其他内容

我不确定是我的 webhooks 还是我在 bot 中实现的功能?对于 webhooks 部分,我基本上复制粘贴了 getMessage、webhook 和 if name == main 部分来自 https://github.com/eternnoir/pyTelegramBotAPI/blob/888c7a6b0d97c376947ee7b525d4b70583acc3fc/examples/webhook_examples/webhook_flask_heroku_echo.py

还是我的命令处理程序有问题?这就是我的代码的样子,减去在 main 中调用函数。 (heroku url 部分被删除,所以我的heroku url 不会被放在这里,但它在原始代码中是正确的)

def main() -> None:
    updater = Updater(TOKEN)

    updater.dispatcher.add_handler(CommandHandler('start',start))
    updater.dispatcher.add_handler(CallbackQueryHandler(button))
    updater.dispatcher.add_handler(CommandHandler('help',help_command))
    updater.dispatcher.add_handler(CommandHandler('test',test_command))

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

@server.route("/")
def webhook():
    bot.remove_webhook()
    bot.set_webhook(url="heroku url" + TOKEN)
    return "!",200

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...