我在node.js中为Discord编写机器人,我不知道如何在特定时间发送消息,在这种情况下是12:00 pm

时间:2017-10-08 05:44:48

标签: node.js discord

正如标题所说,我正在尝试制作一个将在中午12点发送消息的不和谐机器人,但它会抛出错误。有什么帮助吗?

bot.on('message', function (user, userID, channelID, message, evt) {
	var date = new Date();
	var curhour = date.getHours()
    if (curhour == '12') {
        var cmd = args[0];
        args = args.splice(1);
        switch(cmd) {
                bot.sendMessage({
                    to: channelID,
                    message: 'MESSAGE SENT AT 12:00 PM'
                });
            break;
            // Just add any case commands if you want to..
         }
     }
});

1 个答案:

答案 0 :(得分:0)

“bot.on('message'.....”这一行是一个事件处理程序,只有在您的机器人登录的服务器上发送消息时才会唤醒并响应。这不是最好的放置一些应该独立于消息触发器运行的东西。

进一步提高你的代码,我猜你有一条以“bot.on('ready'...”开头的行。在这里你可以添加一个事件计时器来执行你需要做的事情 在12:00。举个例子,像这样的东西每5分钟唤醒一次并运行一个清理程序。

client.on(“ready”,()=> {

client.setInterval(() => 
{
    let message = ""; let args = "";
    let cmd = client.commands.get("cleanup");
    if (cmd) cmd.run(client, message, args,db,config);
},300000 )

})