Настройка времени команды Таймер SQL запросом

Последние изменения: 25.10.2021

Стандартная команда бота Таймер позволяет запустить событие через определенное явно указанное время. При этом могут быть сценарии, когда требуется настроить длительность таймера по какой-либо сложной логике.

Это можно сделать в сценарии бота следующим образом:

  1. Получить от пользователя или каким-либо образом вычислить время требуемого запуска таймера
  2. Установить таймер стандартной командой бота на любое время в будущем (например, через сутки)
  3. Получить идентификатор команды для таймера:timer_command.png
  4. Добавить команду внешний запрос для выполнения запроса к серверу:sql_command.png

В этой команде надо указать:

  • Название
  • Подключение к базе Sherlock Platform
  • SQL запрос

Для SQL запроса необходимо использовать следующий шаблон:

UPDATE tbl_BotTimer SET StartDate= DATEADD(dd, 1, GETUTCDATE())
WHERE BotThemeCommandID='d0566556-71d2-4fd5-a3b0-84687ef9010c'
      AND RequestID='#Request.ID#'

       , где

  • Значение для StartDate определяется через формулу расчета времени. Рекомендуем использовать функцию DATEADD SQL сервера с указанием длительности от текущего времени вторым параметром. Примечание: время указывается в UTC
  • Значение для BotThemeCommandId надо заменить на полученное в пункте 3 инструкции
  1. Проверить работу таймера

Помогла ли вам статья?