Запуск сценария по таймеру | Слот Timer
Слот Timer (таймер) предназначен для запуска Сценария Агента по истечении заданного времени после наступления определенных условий в конкретном Чате.

Например, с помощью слота Timer можно (значения времени в примерах могут быть любыми):
- «Разбудить» Агента через 2 часа после закрытия Диалога, если Собеседник не завершил оформление заказа в чате, чтобы напомнить ему завершить оформление.
- Принудительно перевести Диалог на Оператора, если с начала Диалога прошло 10 минут, а вопрос Собеседника не решен.
- Напомнить Собеседнику вернуться в Диалог, если Агент не получает ответ на вопрос в течение 5 минут.
- С периодичностью раз в сутки делать запросы о статусе доставки во внешнюю систему и уведомить Собеседника, если статус изменился.
Следует различать слот Timer и таймер. При выполнении условий слота Timer в системе создается объект Заведенный таймер – задание, которое будет выполнено по расписанию и начнет ветку Сценария Бота, следующую за слотом Timer. Заведенный таймер может быть прерван до срабатывания – см. Работа слота Timer.

- Слот Timer можно создать только после слота Start при наличии обычной ветки обработки входящих через Бота сообщений.
- Разрешено несколько слотов Timer в Сценарии, при чем их параметры могут быть одинаковыми.
Нижеуказанные параметры по умолчанию следует читать так: завести таймер в режиме Interruptable на 1 час после закрытия диалога.

- 1.Slot Name — название слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов.
- 2.Count down — время обратного отсчета, которое установится при запуске таймера, после окончания отсчета этого времени произойдет срабатывание таймера.
- Значение не может быть пустым, минимальное значение 1 минута, шаг 1 минута. При создании слота предустановлено значение времени, равное 1 ч.
- При попытке ввода в поле min значения, равного или более 60, значение будет автоматически конвертировано в часы и перенесено в поле hours. При заполненном поле hours произойдет сложение конвертированного значения и ранее указанного в поле hours значения.
- При попытке ввода в поле hours значения, равного или более 24, значение будет автоматически конвертировано в дни и перенесено в поле day. При заполненном поле day произойдет сложение конвертированного значения и ранее указанного в поле day значения.
- 3.after — событие, которое запускает проверку условия if для запуска таймера.
- 4.if — дополнительное условие запуска таймера — ус ловие, при котором таймер будет запущен при наступлении события after. Выражение в этом поле должно давать логический результат True или False.
- 5.Mode — режим работы таймера, он определяет, как таймер может быть прерван
- 1.Interruptable — режим, при котором любое изменение Состояния общения останавливает таймер, например: Собеседник что-то написал, пришел Incoming Request, Агент сдвинулся по сценарию, сработал другой таймер этого Агента.
- 2.Always on — режим, при котором изменение Состояния общения не останавливают таймер, его может остановить только Обучение Агента пользователем или запуск нового таймера из этого же слота (например, когда условия выполнились снова).
Пример:
Если содержание Контекстной переменной client_message, приведенное к нижнему регистру, рав но да, то при Закрытии диалога будет заведен Таймер на 1 минуту.
Платформа мониторит Чаты на события-триггеры (триггер запуска таймера) для каждого слота Timer в Сценарии. Дальнейшие действия выполняются для каждого слота Timer в Чате.
Триггер | Описание | Особенности | Примеры применения |
Dialog closed | Закрытие Диалога запускает таймер, если выполняется Дополнительное условие запуска таймера IF |