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