我想使用启用了 webHook 的 Telegram Bot,
我可以使用 Heroku 免费计划作为我的 Bot 的 Url 在收到短信时进行连接吗?
我使用 Nodejs 作为语言。
我想使用启用了 webHook 的 Telegram Bot,
我可以使用 Heroku 免费计划作为我的 Bot 的 Url 在收到短信时进行连接吗?
我使用 Nodejs 作为语言。
是的,你可以,而且效果很好。但是 Heroku 会尝试冻结您的应用程序一段时间。事实上,它不能在过去 24 小时中超过 18 小时处于活动状态。
如果你阻止它,通过 ping 你的应用程序或你的机器人将不断收到消息,你的应用程序将在接下来的 6 小时内充电。这是免费计划的限制。
我建议你使用 Openshift,它在免费层没有这样的限制。
我想我可以提出的另一个建议是让你使用glitch。
到目前为止,我对我制作的所有机器人都使用了故障,它是免费的,易于上手。它还有一个限制,它会在您的机器人不活动 5 分钟后进入睡眠状态。
在一篇文章中,他们说出了为什么以及如何解决它的原因:
应用程序休眠是我们可以免费提供 Glitch 服务的一个重要原因,因此我们不能关闭它。但是,我们接受对于某些用例,例如不支持 webhook 的机器人,这并不理想。有可能在您的应用程序中公开一个路由,Web cron 服务或正常运行时间监控服务可能会命中并导致您的机器人唤醒。每5分钟左右做一次应该做你想做的事。
希望能帮助到你。
我在 Heroku 的免费计划上托管了几个电报机器人,并且 webhook 处于活动状态。它们工作正常,但正如其他答案中提到的,应用程序在 30 分钟不活动后进入睡眠状态:webhook 将重新激活它,但醒来时会有一些延迟,很少出现故障(我丢失了几个命令)。每月有使用时间限制,但除非机器人被大量使用,否则我发现这从来都不是问题。总而言之,我喜欢这项服务,尤其是因为它是免费的。