В некоторых случаях может потребоваться добавить напоминание, если клиент не отвечает на сообщение бота в течение определенного времени. Для этого потребуется использовать BPL-функции для работы с таймером.
Предупреждение
Для тестирования сценариев, содержащих BPL-операции, необходимо использовать веб-виджет или интеграцию с каким-либо мессенджером, так как данные операции не работают в тестовом чате внутри редактора.
Как создать тестовый виджет: Создание тестового виджета
Фрагмент сценария
Параметры блоков и стрелок
1) Перед блоком вопроса необходимо установить блок арифметических операций с типом Произвольный тип. В дальнейшем нам потребуется внести в него BPL-выражение для запуска таймера, но для этого сначала необходимо собрать фрагмент сценария с напоминанием.
2) Затем нужно установить пустой блок, у которого нет входящих веток, так как переход к нему будет осуществлен с помощью таймера, после чего необходимо скопировать id данного блока для последующего использования в BPL-операции при помощи кнопки копирования ID:
3) Далее необходимо установить блок информации, содержащий напоминание, и провести к нему стрелку из пустого блока. Выходящую стрелку из блока информации необходимо подсоеднить к блоку вопроса.
4) После этого необходимо вернуться к блоку арифметики из шага №1, и в поле BPL-выражение ввести следующее выражение:$ti = timer.start(120, "id")
где:$ti
- название таймера, по которому к нему можно обратиться для его остановки;120
- время в секундах, которое таймер будет отсчитывать, может быть указано пользовательское значение;id
- идентификатор пустого блока, скопированный в шаге №2.
После чего обязательно нажать кнопку Преобразовать BPL в AST.
5) Затем необходимо установить блок арифметики после блока вопроса, соединяя их стрелкой с параметрами, соответствующими заданному вопросу, далее в блоке арифметики выбрать тип Произвольный тип, и внести в поле BPL-выражение следующее выражение:timer.stop($ti)
где:$ti
- название ранее запущенного таймера.
После чего обязательно нажать кнопку Преобразовать BPL в AST.
Далее вы можете продолжить сборку сценария с необходимыми вам блоками.
Таким образом вы можете добавить в свой сценарий напоминание, в случае если клиент не отвечает на вопрос.
Пример работы фрагмента
В данном случае напоминание приходит через 2 минуты, так как установлено время действия таймера 120 секунд.