我想安排像我的不和谐机器人发送消息的一些事情。
例如:我想机器人天天送“早安”在上午8点或宣布一些事情。
我的问题是:我不能用类似setInterval()
因为如果机器人脱机或已重新启动,它会重置或延迟的时间间隔来执行每24小时。
问:我如何执行在特定时间点的东西,而不必担心机器人有时是离线?
我想安排像我的不和谐机器人发送消息的一些事情。
例如:我想机器人天天送“早安”在上午8点或宣布一些事情。
我的问题是:我不能用类似setInterval()
因为如果机器人脱机或已重新启动,它会重置或延迟的时间间隔来执行每24小时。
问:我如何执行在特定时间点的东西,而不必担心机器人有时是离线?
您可以使用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的模式在这里 。