Можно использовать setTimeout для длительной задержки для онлайн-сервера, а не для localhost.Означает задержку в часах - PullRequest
0 голосов
/ 09 февраля 2019

Я использую setTimeout в nodejs с задержкой в ​​часах.Код помещается в сбой, но он не работает, если задержка превышает 10 минут.Проблема в том, что код не отвечает или не отправляет сообщение, если задержка превышает 10 минут.Код сервера находится в глюке.Когда какой-либо пользователь отправляет определенную строку в сообщении, сервер отвечает на него.

if(received_message.text === 'hello') {
setTimeout(function(){
   response = {
        "text": "Hi my name is Messenger Bot"
  }
  callSendAPI(sender_psid, response);

}, 1800000);
setTimeout(function(){
    response = {
  "attachment": {
    "type": "template",
    "payload": {
      "template_type": "generic",
      "elements": [{
        "title": "Do want to know about my Bot?",
        "buttons": [
          {
            "type": "postback",
            "title": "Yes!",
            "payload": "yes",
          },
          {
            "type": "postback",
            "title": "No!",
            "payload": "no",
          }
        ],
      }]
    },
  }
}
    callSendAPI(sender_psid, response);
  }, 3600000);
setTimeout(function(){ // 72
    response = {
  "attachment": {
    "type": "template",
    "payload": {
      "template_type": "generic",
      "elements": [{
        "title": "What is google?",
        "subtitle": "Tap the button to answer.",
        "buttons": [
          {
            "type": "postback",
            "title": "Yes!",
            "payload": "yes",
          },
          {
            "type": "postback",
            "title": "No!",
            "payload": "no",
          }
        ],
      }]
    }
  }
}
  callSendAPI(sender_psid, response);
}, 5400000);

}

...