我想安排一些事情,例如使用我的不和谐机器人发送消息。
例如:我希望该机器人每天早上8点发送“早安”或宣布一些消息。
我的问题是:我不能使用setInterval()
之类的东西每24小时执行一次,因为如果机器人下线或必须重新启动,它将重置或延迟时间间隔。
问题:如何在特定时间执行某些操作而不必担心机器人有时会离线?
答案 0 :(得分:2)
您可以使用cron
软件包:您计划每天在特定时间运行的作业(时间将在系统时钟上读取,您必须自己确定时区)。
以下是每天早上8:00发送邮件的示例。
const cron = require('cron');
const channel; // Let's say this is the channel where you want to send it.
const job = new cron.CronJob('0 0 8 * * *', () => {
channel.send("It's 8:00 am.");
});
关于0 0 8 * * *
模式:其格式为second minute hour month-day month week-day
。
您可以找到有关cron模式here的更多信息。