Тип сравнения
Триггер — это то, что активирует бота, изменяет состояния или выполняет другое действие. Слова в поле «Триггер» служат триггером для выполнения события или действия, содержащегося в блоке, в рабочем процессе билдера.
Триггеры управляют ходом разговора. Они настраиваются в поле «Триггер» внутри условного блока или на стрелке соединения.
- Формат: Триггер может быть символом, числом, регулярным выражением или конкретным ключевым словом.
- Действие: Когда ввод пользователя совпадает с заданным триггером, бот выполняет связанный рабочий процесс, например, переход к новому состоянию воронки или запуск действия.


Например, если вам нужно создать блок для всех возможных стартовых слов мессенджера, вы можете указать следующее условие: start;start;get started;start
Во всех типах сравнений точка с запятой (;) используется для разделения условий.
Чат-бот ответит на триггер, выполнив указанное действие или событие; например, он может отправить приветственное сообщение клиенту:

Чтобы распознать триггер, необходимо определить тип сравнения (поле «Тип сравнения»). Тип сравнения помогает чат-боту сопоставить условие с сообщением клиента или другим действием (например, нажатием кнопки) и определить, какое событие запустить следующим.
В MaviBot существует пять типов сравнения условий:
- Нечеткое сравнение;
- Сравнение по ключевым словам;
- Сравнение по регулярному выражению;
- Точное сравнение;
- Семантический поиск.

Давайте рассмотрим каждый из них подробнее.
Нечеткое сравнение
Это основной тип сравнения, позволяющий боту обрабатывать опечатки, ошибки, неточности, пропущенные буквы и перестановки букв. Условие срабатывает, если сходство между строками превышает 70%.
Пример:
Для условия «hello» следующие варианты вызовут совпадение: «hlelo», «hellp», «helo» и так далее.


Этот тип сравнения более ориентирован на пользователя и учитывает человеческий фактор при обработке условий, так как опечатки довольно распространены.
Тип сравнения «Нечеткое» идеально подходит для приветственного (начального) блока в потоке чат-бота, где клиент первым начинает разговор.
Сравнение по ключевым словам
Сравнение по ключевым словам — это очень мощный тип сравнения, который помогает создать человекоподобного консультанта. При таком типе сравнения бот будет реагировать на любое сообщение пользователя, содержащее хотя бы одно из ключевых слов условия.
Другими словами, если клиент отправляет сообщение, содержащее одно или несколько ключевых слов из условия, поток сработает в соответствии с его настройками.
Пример:
Для условия «hello;person» следующее сообщение вызовет его срабатывание:
«I want to greet this wonderful person.»


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

Как видно из примера выше, бот будет реагировать на любое сообщение, содержащее хотя бы одно из ключевых слов в условии.
Этот тип сравнения также использует поле «Игнорировать триггеры» (сообщения, на которые не следует отвечать).

Это поле работает аналогично полю условия, но с противоположным эффектом: если сообщение пользователя содержит какие-либо слова из поля «Игнорировать триггеры», условие не будет выполнено.
Соответственно, если условие в поле «Игнорировать триггеры» выполнено, общее условие не сработает.
Вариативность
Вы можете добавить дополнительный триггер, разделив его точкой с запятой, но что, если нужно сопоставить один из нескольких вариантов слов?
Например, чтобы обрабатывать фразы «Мой интернет не работает», «Мой компьютер не работает» или «Мой компьютер сломался» одним триггером.
Очевидно, что перечислять все варианты ключевых слов по одному непрактично. Именно поэтому был создан синтаксис ИЛИ. Чтобы указать одно из нескольких эквивалентных ключевых слов, поместите их все в круглые скобки и разделите вертикальной чертой (|).
Например, триггер (tar plan|tariff) (pereit|podklyuch|menit|pomen) будет соответствовать вопросам типа:
«Здравствуйте, как подключить новый тариф?»
«Как изменить мой тарифный план?»


Давайте разберем триггер:
(tar plan | tariff) означает, что строка должна содержать «tar» И «plan» ИЛИ «tariff»
И одновременно одно из слов: «switch» ИЛИ «connect» ИЛИ «change» ИЛИ «replace».
Вот еще несколько наглядных примеров:
-
change password (cab|pa)
("cab" и "pa" — сокращения от "cabinet" и "personal account") (forgot|reset|restore|remember|accepts|fits|incorrect|not the right|don’t remember) password(can’t|unable to) (restore|change) passwordlogin in contract; (lost|loss|where is|don’t know|where|can’t find|no) contract(suspend|blocked|block|disconnect) (services|internet|inet|charged); (saved|save) day; put on pause; leavingauto payment; payment; pay; recurring payment; connect payment
Точное сравнение
При таком типе сравнения бот запустит событие, только если сообщение клиента точно совпадает с условием.
Сравнение нечувствительно к регистру, то есть если условие «hello», а пользователь вводит «HELLO», условие все равно сработает. Это следует учитывать.
Этот тип сравнения подходит для использования в таких настройках, как соединения, когда клиент нажимает кнопку или переходит с мини-лендинга в чат-бот с указанным тегом сайта.
-
Для нажатий кнопок:
Например, в условиях мы указываем названия кнопок, при нажатии на которые клиент должен перейти в соответствующий блок.

Далее мы создадим блоки, в которые клиент должен быть направлен после нажатия кнопки после первого блока. Их должно быть четыре:

Затем в настройках стрелки вводим название кнопки и устанавливаем тип сравнения «Точное сравнение».

Теперь вы можете протестировать бота:

Как видите, бот правильно обрабатывает условие и точное совпадение при использовании кнопок.
- Использование тега сайта в воронке:
В этом случае принцип аналогичен использованию кнопок; однако условие и тип сравнения задаются непосредственно внутри самого условного блока.
Здесь тег берется из вкладки Сайты, где вы установили тег для страницы веб-сайта:

Тег в условии блока указывается непосредственно в поле УСЛОВИЕ блока без использования слов «ТЕГ» или любых других меток.

Более подробно о том, как настроить триггер бота с помощью тега, установленного на веб-сайте, см. в статье «Создание веб-сайта и основные настройки» в разделе «Тег».
Чат-бот также будет отвечать и выполнять настроенное событие в настройках блока.
Сравнение по регулярному выражению
Сравнение по регулярному выражению — это тип условия, который позволяет боту проверять формат введенных данных (например, чтобы убедиться, что пользователь ввел номер телефона, а не что-то другое).
Во время сбора данных пользователи часто вводят информацию, отличающуюся от запрашиваемой. Вот типичный пример потока проверки номера телефона. Если пользователь вводит что-то, кроме действительного номера телефона, бот предложит ему попробовать снова.

Из блока, запрашивающего номер телефона, выходят два соединения:
- Одно соединение без триггера
- Другое соединение с триггером регулярного выражения для проверки номера телефона
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
Соединение с триггером добавляет номер телефона в запрос и будет срабатывать только при обнаружении действительного номера телефона. Второе соединение будет срабатывать во всех остальных случаях, так как имеет более низкий приоритет.
Полный список полезных регулярных выражений можно найти в статье с таким же названием.
Семантический поиск
Опция «Семантический поиск» основана на искусственном интеллекте — настоящий прорыв для вашего чат-бота.
Как это работает:
- Триггер содержит слова или фразы, представляющие СМЫСЛ, который ИИ будет идентифицировать в сообщении клиента.
- Система (чат-бот) обрабатывает сообщение клиента, ища смысл, заложенный в условии, во вводе клиента.
- Затем бот запускает соответствующее событие в блоке.
Другими словами, указывая определенные фразы или значения в условии, ИИ проверяет каждое условие на соответствие сообщению клиента и запускает соответствующее событие в блоке (например, отправку сообщения и т.д.).
Пример:
Мы указали определенные фразы и ключевые слова, чтобы ИИ обнаружил их в сообщении клиента и запустил соответствующее событие внутри блока.
В нашем случае триггер включает фразы, связанные с «закрытием счетов или договоров».

При использовании опции «Семантический поиск» бот должен найти в сообщении клиента слова или фразы, близкие по смыслу к указанным в условии:

Каждый раз, когда бот обрабатывает сообщение клиента, он правильно запускает требуемое событие, определенное в блоке.
Как написать триггер
Триггер вводится в соответствующее поле так же, как и другие условия для любого типа сравнения: через точку с запятой (;).

Лучше всего указывать фразы или слова в поле триггера как можно точнее и лаконичнее.
Краткое, четкое и точное условие для блока помогает чат-боту правильно запускать событие, содержащееся в блоке.
Чем более сложные, расплывчатые и длинные фразы включает условие, тем дольше ИИ обрабатывает сообщения клиентов, что может привести к некорректному поведению вашего потока.
Обратите внимание!
Триггер НЕ должен состоять из одного слова: хотя условия должны быть краткими, они должны отражать смысл, который ищет бот.
Если модель сравнивает два разных отдельных слова, они не совпадут. Например, вместо использования слова «счет» используйте условие «оплата ежемесячного счета». Это условие лучше соответствует предполагаемым требованиям и предоставляет модели ИИ необходимые критерии для семантического сопоставления.
Таким образом, используя опцию «Семантический поиск», ИИ будет анализировать различные возможности, чтобы понять смысл сообщения клиента, и на основе совпадения чат-бот запустит соответствующее событие.
Конструктор триггеров
Триггер — это уникальная, специализированная функция, предназначенная для быстрого создания триггеров в соответствующих блоках для реагирования на входящие обратные вызовы из различных каналов, платежных систем и других интеграций.
Соответственно, конструктор триггеров доступен только для блоков, поддерживающих триггеры:

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

После нажатия соответствующей кнопки откроется окно для работы с условиями:

Триггеры MaviBot

Вкладка «Триггеры MaviBot» в конструкторе триггеров включает все системные условия, которые хранятся и доступны для использования в различных разделах MaviBot.
Триггеры по умолчанию
Эта функциональность работает аналогично вложенным условиям внутри блока: здесь вы указываете условия, которые НЕ встроены в систему. Это может быть тег воронки, тег сайта или любое другое условие, которое существует только в вашем проекте.
Переменные

Триггеры с переменными настраиваются довольно просто.
Шаг 1. Введите имя переменной в соответствующее поле.
Шаг 2. Выберите параметр сравнения.

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


Шаг 3. Выберите тип сравнения.

Каждое сравнение имеет свое значение: равно (==); не равно (!=); строго больше (>); больше или равно (>=); строго меньше (<); меньше или равно (<=).
Пример:

В примере значение переменной установлено как больше или равно 21. Что это означает?
Это означает, что событие внутри блока будет срабатывать только для клиентов, принадлежащих к возрастной группе «взрослые» — то есть тех, кому 21 год или старше.
Выражение «age >= 18» эквивалентно «age > 17».
Условие «age > 17» также будет срабатывать только для тех, кто строго старше 17 лет, то есть начиная с 18 лет и старше.
Разделы MaviBot

В условиях разделов MaviBot есть типичные обратные вызовы — системные уведомления — о различных событиях в проекте.
Чтобы запустить событие внутри блока на основе системных уведомлений, установите необходимый обратный вызов в поле условия, затем выберите тип сравнения и нажмите кнопку «Добавить условие»:
После этого условие появится в соответствующих полях внутри блока.
Если блок уже содержит условие, нажатие кнопки «Добавить условие» добавит новое условие после существующего. Если вам нужно заменить старое условие новым, нажмите «Заменить условие».
Мессенджеры

Конструктор условий в каналах помогает не только отслеживать реакции на посты или публикации, но и запускать события внутри блоков для ответа чат-бота.
Платежи

Шаг 1. Чтобы настроить условия для платежных систем, убедитесь, что вы подключили соответствующую интеграцию; в противном случае вы не сможете использовать конструктор условий с требуемой системой.
Шаг 2. Затем нажмите на нужную платежную систему.
Шаг 3. Выберите соответствующий обратный вызов.
Шаг 4. Затем введите сумму платежа в соответствующее поле и нажмите «Добавить условие». Последний шаг — написать соответствующее сообщение в настройках блока:
Другие разделы конструктора условий настраиваются аналогично рассмотренным здесь разделам.
Желаем успехов!


