我有一个机器人,它的命令允许用户输入一条用破折号分隔的消息,然后输入指定的时间,然后将其传递给机器人,机器人在指定的时间过去后用该消息提醒用户。
function reminder(msg) {
const message = msg.content.replace(this.prefix+this.name+" ","");
const params = message.split("-");
setTimeout(() => {
msg.channel.sendMessage(params[0]);
}, (parseInt(params[1])*1000));
}
我打算在 Heroku 上运行这个机器人,但由于我只是一个十几岁的孩子,这对我来说是一种爱好,我必须使用 Heroku 每个月给我的免费测功时间。如果有人使用机器人的这个功能,setTimeout 的计时机制会让我的测功机保持启用状态并使用免费的测功机时间吗?
编辑:如果您相信有一个比 Heroku 更好的免费替代品,并且你们中的任何人都知道,那就太好了:)
是和不是。
假设 setTimeout 中的逻辑将在每次小于之后运行30分钟, so YESheroku 服务器仍处于唤醒状态,因此它将使用免费的 dyno 时间。
但是如果消息要在超过 30 分钟后发送,比如说 1 小时,那么如果在此期间没有任何请求到达您的服务器,您的服务器将在 30m 不活动后休眠,所以NO只要没有传入请求。
阅读有关 Heroku 免费测功时间的更多信息,here https://devcenter.heroku.com/articles/free-dyno-hour-faq.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)