discord.js未在特定时间发送消息

discord.js未在特定时间发送消息,discord.js,Discord.js,所以我试图让机器人在特定的时间(小时、分钟、秒)在特定的频道发送消息。然而,它真的没有做它编程要做的事情 现在,设定的时间是15:25:00,但是,它不会在该时间发送消息 client.on("message", message => { var day = new Date(); var hr = day.getHours(); var min = day.getMinutes(); var sec = day.getSeconds(); if

所以我试图让机器人在特定的时间(小时、分钟、秒)在特定的频道发送消息。然而,它真的没有做它编程要做的事情

现在,设定的时间是15:25:00,但是,它不会在该时间发送消息

client.on("message", message => {
    var day = new Date();
    var hr = day.getHours();
    var min = day.getMinutes();
    var sec = day.getSeconds();

    if (hr == 15) {
    if (min == 25){
        if (sec == 0) {

            client.channels.get("704015571531857950").send("Test")

}
}
}
});

始终查看父函数:)您的if条件在
客户端中。on(“message”,message=>{…})
,这意味着您仅检查某人发送消息的时间,仅当某人在15:25:00发送消息时才允许bot发送消息。此外,要将消息发送到特定频道,您的方法已过时,以下是新的解决方案:

client.channels.fetch("704015571531857950").then((channel) => {
    channel.send("Test");
});

每10秒设置一次间隔对预浪漫是不好的,我建议做一些计算并使用setTimeout,虽然setTimeout可能有点不合适,但不要认为它会太多

正如vrecusko所说,您的方法已经过时,但使用fetch并不是唯一/最好的选择

client.channels.cache.get(“704015571531857950”)。然后(channel=>{
频道。发送(“消息”);
});

你能进一步解释一下你在做什么吗?是否有命令用于设置发送消息的时间?或者这像是您希望bot每天同时发送的消息吗?

好的,那么客户端应该使用什么
。在
上,我应该在该特定时间发送消息吗?我也不会完全在
设置间隔(函数,10000)之外执行此操作
因此,机器人每10秒观察一次,我会让它的发送时间更长一些,因为机器人并不总是每秒钟都工作,它们有一些安静的时间。事实上,我已经用vrecusko20的解决方案解决了这个问题。尽管过时的方法显然有效。我只是想让它在特定时间定期发送消息。