我尝试搜索解决方案或有关在不和谐的js中使用cron的任何信息,但搜索却毫无结果。我还是很没经验,希望您对我耐心:p
const { mudaeon, mudaeoff} = require('./mudaetime.json')
const cron = require('cron');
module.exports = {
name: 'mudaetime',
description: '...',
async execute(message, args){
if(mudaeon){
const channel = message.client.channels.cache.get('*id*')
let scheduledMessage = new cron.CronJob("*/1 * * * *", () => {
scheduledMessage.start()},
message.react('✅'),
channel.send("check $tu ! <@&*id*>"))
} else(mudaeoff);{
let scheduledMessage = new cron.CronJob("*/1 * * * *")
scheduledMessage.stop();
}
}
};
答案 0 :(得分:0)
您似乎从未真正启动过cronJob。浏览Cron文档(https://www.npmjs.com/package/cron#usage-basic-cron-usage),您需要启动Cron作业才能执行代码。初始化cron作业时的第二个参数是要执行的功能。此功能仅在您调用作业后执行。
尝试一下:
const cron = require('cron');
module.exports = {
name: 'mudaetime',
description: '...',
async execute(message, args) {
if (mudaeon) {
const channel = message.client.channels.cache.get('*id*');
let scheduledMessage = new cron.CronJob(
'*/1 * * * *',
() => {
message.react('✅');
channel.send('check $tu ! <@&*id*>');
},
);
scheduledMessage.start();
} else mudaeoff;
{
let scheduledMessage = new cron.CronJob('*/1 * * * *');
scheduledMessage.stop();
}
},
};
希望这可以解决您的问题!
答案 1 :(得分:0)
因此,我最终接受了Tin Nyugen的建议,并运行了一个基本示例,事实证明,这比我确定的要简单得多:
const cron = require('node-cron');
module.exports = {
name: 'mudaestart',
description: '...',
execute(message, args){
message.react('✅')
cron.schedule('* * * * *', () => {
message.channel.send('check $tu !! <@&id>')
})
}
}
我切换到node-cron:p我不确定这是编写此代码的最佳方法,但是我很高兴它能工作,并且我在尝试编写此命令方面学到了很多东西!>