Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用cron&;发送定时消息;node.js_Javascript_Node.js_Cron_Discord.js - Fatal编程技术网

Javascript 使用cron&;发送定时消息;node.js

Javascript 使用cron&;发送定时消息;node.js,javascript,node.js,cron,discord.js,Javascript,Node.js,Cron,Discord.js,我对node.js、cron的使用还不太熟悉,从非常基础的知识中又学到了Javascript,所以请耐心听我说。谢谢大家! 我的目标是运行Discord bot,它每天在特定的时间在我的服务器上发送特定的消息。这里有很多用户建议使用cron来实现这种功能,所以我安装了它,并尝试使用他们建议的片段 const cron = require('cron'); const Discord = require('discord.js'); const client = new Discord.Clien

我对node.js、cron的使用还不太熟悉,从非常基础的知识中又学到了Javascript,所以请耐心听我说。谢谢大家!

我的目标是运行Discord bot,它每天在特定的时间在我的服务器上发送特定的消息。这里有很多用户建议使用cron来实现这种功能,所以我安装了它,并尝试使用他们建议的片段

const cron = require('cron');
const Discord = require('discord.js');
const client = new Discord.Client();
const { token, guildid, channelid } = require('./config.json');

client.on('ready', () => {
    console.log('Good to go.');
});

const scheduledMessage = new cron.CronJob('00 00 08 * * *', () => {
const guild = client.guilds.cache.get(guildid);
const channel = client.channels.cache.get(channelid);
channel.send('My Message');
});


scheduledMessage.start()
我得到的错误是 TypeError:无法读取undefined的属性'send',尽管我很确定我可能会遇到更多问题,而且我认为我根本没有正确使用cron作业


感谢您的帮助

您可以选择另一个方向,完全只需使用node:

var countDownDate=新日期(“2020年10月2日00:00:00”).getTime();
var currentTime=new Date().getTime();
var时差=倒计时日期-当前时间;
//如果倒计时结束,请发送消息
如果(时差==0){
让channel client.channels.cache.get('channelID');
channel.send('messageHere')
}
}

我认为问题不在于cron,问题在于Discord找不到您所引用的频道。仔细检查
channelid
变量,确保它是有效的通道ID