Стандартная команда бота Таймер позволяет запустить событие через определенное явно указанное время. При этом могут быть сценарии, когда требуется настроить длительность таймера по какой-либо сложной логике.
Это можно сделать в сценарии бота следующим образом:
- Получить от пользователя или каким-либо образом вычислить время требуемого запуска таймера
- Установить таймер стандартной командой бота на любое время в будущем (например, через сутки)
- Получить идентификатор команды для таймера:
- Добавить команду внешний запрос для выполнения запроса к серверу:
В этой команде надо указать:
- Название
- Подключение к базе 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 инструкции
- Проверить работу таймера