Discord. js Установка функции интервала не активирована. Нужно подтверждение причины - PullRequest
0 голосов
/ 22 февраля 2020

У меня сейчас проблема с функцией setinterval, и мне было интересно, может кто-нибудь помочь. Как ни странно, он работает в течение коротких интервалов, например, 10 или 20 секунд, но когда я масштабирую его до дня или половины дня, он не запускается. Я на версии 11.5.1 раздора. js

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,)

Это функция в событии готовности. События - это файл json с массивом пар ключ-значение. c - массив с идентификаторами каналов. так что в файле json у меня есть дата теста, когда я запускаю текущий день, он будет работать, но когда я меняю день на другой, а затем жду этого времени, ничего не происходит, но время должно было пройти и все переменные должны были быть сброшены, поэтому есть идеи? Кроме того, у меня есть бот, размещенный на глюк, который отправляет запросы ping, а также использует робота uptime, который указал, что не было никакого сбоя в течение 60 часов. Единственная причина, о которой я мог подумать, заключается в том, что, возможно, сбой заставляет бота спать на долю секунды, и это приводит к тому, что интервал постоянно сбрасывается, но тогда это будет означать, что пинг и время работы робота не действуют. Кроме того, если у кого-то есть умная работа вокруг, я был бы благодарен. Лучшее, что я мог сделать, это просто иметь команду, которая делает это.

...