Как создать таймер для пользователя?

147
20 апреля 2018, 15:42

У меня бот для вк. Мне нужно что бы при вводе команды test бот ответил пользователю "Работаю". Но если пользователь еще раз ввел ему высветило "Подождите 10 минут". ПОсле того как пройдет 10 минут пользователь может снова писать test. Вопрос: Как сделать что бы пользователю после ввода команды, эта же команда была доступна через 10 минут? Node js

Answer 1

Если в ноде есть класс Date и его статичный метод now():

  1. Объявляете в воркере (или как оно в ноде называется) примерно такой объект с данными пользовательских команд

    const cmdData = {
      'test': { timeout: 6e5, lastAccessTime: 0 }, 
      ... 
    };
  2. При выполнении команды пользователя, проверяете, прошло ли заданное количество времени

    let cd = cmdData[command], 
        tNow = Date.now(); 
    if (tNow - cd.lastAccessTime > cd.timeout) {
      cd.lastAccessTime = tNow; 
      // вывод "Работаю" и выполнение действий 
    }
    else 
      // вывод "Подождите 10 минут"
READ ALSO
Как поставить на img эффект tooltip . wordpress?

Как поставить на img эффект tooltip . wordpress?

Как поставить эффект tooltip js на img , проект на wordpress

198
Как сделать таблицу рекордов в игре на Javascript с использованием localstorage?

Как сделать таблицу рекордов в игре на Javascript с использованием localstorage?

В общем, суть в следующемВ начале игры заполняются данные формы, типа Имя, Фамилия, и отправляются в localstorage

638
Ошибка addEventListener 'null'

Ошибка addEventListener 'null'

Есть событие которое выполняется при изменении содержимых тегов iteminfo0 и iteminfo1

216
Обнаружить ошибку или каким должен быть код у начинающих JS?

Обнаружить ошибку или каким должен быть код у начинающих JS?

Постепенно я решаю, не без помощи этого сайта, мелкие задачки для достижения решения одной большой задачиСейчас после написания около 50 строк...

203