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

时间:2020-04-26 18:26:45

标签: 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 (hr == 15) {
    if (min == 25){
        if (sec == 0) {

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

}
}
}
});

2 个答案:

答案 0 :(得分:1)

始终查看父函数:)您的条件是否在client.on("message", message => { ... })中,这意味着您仅检查某人发送消息的时间,仅当某人恰好在15点发送消息时,才允许机器人发送该消息。 :25:00。另外,要将消息发送到特定频道,您的方法已经过时,这是新的解决方案:

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

答案 1 :(得分:0)

setInterval每隔10秒对从源开始来说是不好的,我建议您做一些数学运算并使用setTimeout,尽管setTimeout可能有点过时,但不要认为它太多了。

就像vrecusko所说的那样,您的方法已经过时了,但是使用提取并不是唯一/最好的选择。

client.channels.cache.get("704015571531857950").then(channel => {
   channel.send("Message");
});

您能解释一下您在做什么吗?是否有一条命令可以设置发送消息的时间?还是想让机器人每天同时发送一条消息?