Я работаю над сценарием чат-бота (Hubot — работает в терминале) и ищу метод для подсчета времени, прошедшего с момента, когда последнее сообщение было оставлено в потоке. Затем, после того как никто не оставил сообщения в течение X минут (скажем, 10 000 миллисекунд), я хотел бы выполнить console.log("СВЕРЧКИ!..СВЕРЧКИ!..")
Я представляю что-то вроде:
//currentTime - startTime = timeSince
//and
// if( timeSince > 10,000)
// {console.log("Crickets!..")
однако я не уверен, как создать переменную currentTime как постоянно растущий счетчик
Ниже приведен код, который я начал, который, похоже, не выдает никаких ошибок в , но также, похоже, не работает, когда я запускаю его в терминале. Он просто печатает текущее время дважды
module.exports = function(robot) {
return robot.hear(/$/i, function(msg) {
var startTime = (Date.now()) ;
return(startTime);
if (Date.now() - startTime > 1000) {
console.log("CRICKETS..!...")
};
});
};
Вы заметите, что я использую Date.now(), но я не привязываюсь, если есть лучший метод. Также здесь есть ссылка на базовые скрипты hubot, если это нужно для контекста - https://github.com/github/hubot/blob/master/docs/scripting.md
setTimeout
позволяет запускать функцию обратного вызова после задержки. - person A. Vidor   schedule 21.07.2016