Условие

Условия позволяют разветвлять сценарий, направляя его, в зависимости от полученных сообщений и переменных.

Например, если пользователь пришел в ВК, для него можно запустить одну цепочку, а для тех, кто писал в telegram - уже другую.

Чтобы добавить разветвление, создадим на экране блок простого условия. Сделать это можно, щелкнув правой кнопкой мыши в свободном месте экрана, либо через левое вспомогательное меню.

С помощью кнопок вы можете добавлять условия на сообщения и переменные, а также сложные условия на языке SmartQuery.

Тут же находятся два поля, указывающие, куда цепочка пойдет в случае выполнения условий и в противном случае.

Обратите внимание, что поля "То" и "Иначе" в нижней части меню блока тождественны прямоугольникам на самом блоке. Вы можете выбрать следующий блок из выпадающего списка, либо соединить прямоугольник "То" стрелкой с нужным блоком непосредственно на экране.

Условие состоит из 3 элементов: ключ, тип сравнения, значение.

Для проверки условия бот берет значение ключа и сверяет его в соответствии с указанным типом сравнения.

В примере выше ключом является последнее сообщение пользователя, бот проверяет, равно ли оно слову "привет".

Группы условий

Все условия состоят из 3 групп: условия на сообщение, условия на переменные и сложные условия.

Условия сочетаются между собой по принципу "выполнить все или выполнить только одно".

Например, если вы хотите запускать сценарий по словам "Привет", "Здравствуйте", "Добрый день", то вам нужно настроить бота выбирать одно любое из этих условий.

Если же требуется проверить одновременно несколько параметров, то отмечаем пункт "Все условия"

Условия на сообщения

Основное условие - это условие на сообщение. Такое условие проверяет последнее сообщение пользователя.

Проверка идет с помощью следующих типов сравнения:

  • равно

  • не равно

  • похоже

  • содержит

  • начинается с

  • не начинается с

  • заканчивается на

  • не заканчивается на

  • содержит строку

  • не содержит строку

Рассмотрим некоторые из них.

Равно и не равно

Типы сравнения равно и не равно проверяют четкое равенство или неравенство сообщения заданному тексту. Например, сообщение "привет" будет соответствовать только такому тексту.

Содержит и не содержит

Эти типы сравнения проверяют, что сообщение содержит заданные слова. Сообщение может содержать эти слова последовательно в любом месте сообщения.

Начинается и заканчивается на

В этом режиме бот проверяет, что сообщение пользователя начинается или заканчивается на заданный в условии текст.

Похоже на

Данное условие сравнивает тексты с помощью умного алгоритма, использующего машинное обучение. Данный режим лучше всего подходит для сравнения небольших фраз.

Например, если задать условие, что сообщение должно быть похоже на "адрес доставки", то бот будет реагировать на похожие фразы

Условия на переменные

Условия на переменные существенно расширяют функционал условий! Например, вы можете проверять данные о пользователе или специальные переменные.

Чтобы добавить условие на переменные, нажмите "+ условие на переменную"

Группа условий на сообщение проверяется ВМЕСТЕ с группой условий на переменные. Таким образом, чтобы было выполнено общее условие, обе группы должны выполняться

В примере выше условие выполнится только если сообщение будет равно "привет" И если тип канала, куда поступило сообщение - telegram.

В условиях на переменные можно указывать как специальные, так и свои кастомные переменные.

Сложные условия

Сложные условия пишутся на языке SmartQuery.

Чтобы добавить такое условие, нажмите на кнопку "+ Сложное условие"

С их помощью можно, например, проверить наличие элемента в Массиве, или объединить несколько условий через И и ИЛИ, например

Кнопка «Проверить код» выполняет указанный в поле ввода код и, в случае отсутствия ошибок, показывает значение полученного выражения.

Следует учитывать, что проверка кода выполняется от имени текущего пользователя (админа). То есть будут использоваться его локальные и специальные переменные.

Также отметим, что при проверке синтаксиса, значения изменившихся переменных НЕ сохраняются.

Last updated