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

Discord.js Set Interval function not activating. Need confirmation of cause

我目前在使用 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,)

这是ready事件中的函数。 Events 是一个包含键值对数组的 json 文件。 c 是一个包含频道 ID 的数组。所以在 json 文件中我有一个测试日期,当我在当天 运行 时它会起作用,但是当我将日期更改为下一天然后等待那个时间到来时,没有任何反应但是时间应该已经过去了,变量应该都被重置了,所以有什么想法吗?此外,我让机器人托管在故障上,它会发送自己的 ping 请求,并使用正常运行时间机器人,这表明 60 小时内没有出现故障。我能想到的唯一原因是,故障可能会使机器人瞬间进入休眠状态,并导致间隔不断重置,但这意味着 ping 和正常运行时间机器人没有任何效果。另外,如果有人有巧妙的解决方法,我将不胜感激。我能做的最好的就是有一个执行此操作的命令。

可能是因为你没有像这样在最后破坏函数

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

    }, 3600000);

也许那个逗号使值充当整数,更多的值将被放入其中。

自从我更新到新版本的库后,情况发生了变化。然而,这是很久以前的事了,当时我主持的时候出现了故障,这最终成为了问题所在。即使您使用 uptime robot 对其进行 ping 操作,Glitch 仍会使机器人进入休眠状态,因为它们可以防止 ping 垃圾邮件。