Javascript Discord.js设置间隔功能未激活。需要确认原因吗

Javascript Discord.js设置间隔功能未激活。需要确认原因吗,javascript,discord.js,web-hosting,Javascript,Discord.js,Web Hosting,我目前对setinterval函数有问题,不知道是否有人可以帮助我。奇怪的是,它的工作时间很短,比如10秒或20秒,但当我将它扩展到一天或半天时,它就无法运行了。我使用的是discord.js的11.5.1版 bot.setInterval(function(){ var Holiday = new Date(); var month = Holiday.getMonth()+1; var day = Holiday.getDate();

我目前对setinterval函数有问题,不知道是否有人可以帮助我。奇怪的是,它的工作时间很短,比如10秒或20秒,但当我将它扩展到一天或半天时,它就无法运行了。我使用的是discord.js的11.5.1版

bot.setInterval(function(){
        var Holiday = new Date();
        var month = Holiday.getMonth()+1;
        var day = Holiday.getDate();
        var check = month+'/'+day;
        var greeting = "";

        for(var i = 0; i < Events.length; i++){

            if(check == Object.keys(Events[i]) && check != "12/25"){
              greeting = "Happy "+Object.values(Events[i]);
            }
            if(check == "12/25"){
                greeting = "Merry Christmas";
            }


        }
    for(var j = 0; j < c.length;j++){

    var channel = bot.channels.get(c[j]);

        if(greeting != ""){
        channel.sendMessage(greeting);


          }
      //channel.sendMessage('test');
    }

        }, 3600000,)
bot.setInterval(函数(){
var Holiday=新日期();
var month=Holiday.getMonth()+1;
var day=Holiday.getDate();
var检查=月+'/'+日;
var=”;
对于(var i=0;i

这是ready事件中的函数。Events是一个json文件,包含一个键值对数组。c是一个具有通道ID的数组。因此,在json文件中,我有一个测试日期,当我运行当前日期时,它会工作,但是当我将日期更改为下一天,然后等待该时间到来时,除了时间应该已经过去,变量应该已经全部重置之外,什么都没有发生,所以有什么想法吗?此外,我还让机器人托管在glitch上,向自己发送ping请求,并使用正常运行时间机器人,这表明已经有60个小时没有停机了。我能想到的唯一原因是,可能故障会使机器人在瞬间进入睡眠状态,并导致间隔不断重置,但这意味着ping和正常运行时间机器人没有任何效果。此外,如果有人有一个聪明的工作,我将不胜感激。我所能做的最好的事情就是使用一个命令来完成这项工作。

可能是因为您没有像这样在最后中断函数

      }
  //channel.sendMessage('test');
}

    }, 3600000);

可能是逗号使这个值变成了一个整数,更多的值将被放入其中。

自从我更新到新版本的库之后,事情发生了变化。然而,这是很久以前的事了,当时我主持的是glitch,这就是问题所在。即使您正在使用正常运行时间机器人ping,Glitch仍会使bot休眠,因为它们可以防止ping垃圾邮件。

您的意思是额外的逗号是一个问题吗?如果OP使用Node.js版本8+,则不会出现问题,如果使用较旧版本,则会收到错误。Island,您的机器人是否全天候在线?