Тип збігу
Тригер — це те, що активує бота, змінює стани або виконує іншу дію. Слова в полі "Тригер" діють як тригер для виконання події або дії, що міститься в блоці, у робочому процесі білдера.
Тригери керують перебігом розмови. Вони налаштовуються в полі "Тригер" у блоці умови або на стрілці з'єднання.
- Формат: Тригер може бути символом, числом, регулярним виразом або конкретним ключовим словом.
- Дія: Коли введені користувачем дані збігаються з визначеним тригером, бот виконує пов'язаний робочий процес, наприклад, перехід до нового стану воронки або запуск дії.


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

Щоб розпізнати тригер, потрібно визначити тип порівняння (поле "Тип збігу"). Тип збігу допомагає чат-боту порівняти умову з повідомленням клієнта або іншою дією (наприклад, натисканням кнопки) та визначити, яку подію запустити далі.
У MaviBot існує п'ять типів збігу умов:
- Нечіткий збіг;
- Збіг за ключовими словами;
- Збіг за RegEx;
- Точний збіг;
- Семантичний пошук.

Розглянемо кожен з них детальніше.
Нечіткий збіг
Це основний тип порівняння, який дозволяє боту обробляти орфографічні помилки, друкарські помилки, неточності, пропущені літери та перестановки літер. Умова спрацьовує, якщо схожість між рядками перевищує 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", умова все одно спрацює. Це слід враховувати.
Цей тип порівняння підходить для використання в налаштуваннях, таких як з'єднання, коли клієнт натискає кнопку або переходить з міні-лендінгу до чат-бота із зазначеним тегом сайту.
-
Для натискань кнопок:
Наприклад, в умовах ми вказуємо назви кнопок, натискання яких клієнтом має привести його до відповідного блоку.

Далі ми створимо блоки, до яких клієнт повинен бути направлений після натискання кнопки після першого блоку. Їх має бути чотири:

Далі в налаштуваннях стрілки вводимо назву кнопки та встановлюємо тип збігу "Точний збіг."

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

Як бачите, бот правильно обробляє умову та вибір точного збігу під час використання кнопок.
- Використання тегу сайту у воронці:
У цьому випадку принцип схожий на використання кнопок; однак умова та тип збігу встановлюються безпосередньо в самому блоці умови.
Тут тег береться з вкладки Сайти, де ви встановили тег для сторінки веб-сайту:

Тег в умові блоку вказується безпосередньо в полі УМОВА блоку без використання слів “TAG” або будь-яких інших міток.

Детальніше про те, як налаштувати тригер бота за допомогою тегу, встановленого на веб-сайті, дивіться у статті "Створення веб-сайту та основні налаштування" у розділі "Тег".
Чат-бот також відповість і виконає налаштовану подію в налаштуваннях блоку.
Збіг за RegEx
Збіг за RegEx — це тип умови, який дозволяє боту перевіряти формат введених даних (наприклад, щоб переконатися, що користувач ввів номер телефону, а не щось інше).
Під час збору даних користувачі часто вводять інформацію, яка відрізняється від запитуваної. Ось типовий приклад потоку перевірки номера телефону. Якщо користувач вводить щось, що не є дійсним номером телефону, бот запропонує йому спробувати ще раз.

Від блоку, який запитує номер телефону, ведуть два з'єднання:
- Одне з'єднання без тригера
- Інше з'єднання з тригером regex для перевірки номера телефону
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
З'єднання з тригером додає номер телефону до запиту і спрацьовуватиме лише тоді, коли буде виявлено дійсний номер телефону. Друге з'єднання спрацьовуватиме у всіх інших випадках, оскільки має нижчий пріоритет.
Повний список корисних регулярних виразів можна знайти в статті з такою ж назвою.
Семантичний пошук
Опція "Семантичний пошук" базується на штучному інтелекті — справжній прорив для вашого чат-бота.
Як це працює:
- Тригер містить слова або фрази, що представляють ЗНАЧЕННЯ, яке ШІ визначить у повідомленні клієнта.
- Система (чат-бот) обробляє повідомлення клієнта, шукаючи значення, закладене в умові, у введених клієнтом даних.
- Потім бот запускає відповідну подію в блоці.
Іншими словами, вказуючи певні фрази або значення в умові, ШІ перевіряє кожну умову на відповідність повідомленню клієнта та запускає відповідну подію в блоці (наприклад, надсилання повідомлення тощо).
Приклад:
Ми вказали певні фрази та ключові слова, які ШІ має виявити в повідомленні клієнта, щоб запустити відповідну подію в блоці.
У нашому випадку тригер включає фрази, пов'язані з "закриттям рахунків або контрактів."

Під час використання опції "Семантичний пошук" бот повинен знайти в повідомленні клієнта слова або фрази, подібні за значенням до тих, що вказані в умові:

Кожного разу, коли бот обробляє повідомлення клієнта, він правильно запускає необхідну подію, визначену в блоці.
Як написати тригер
Тригер вводиться у відповідне поле так само, як і інші умови для будь-якого типу збігу: через крапку з комою (;).

Найкраще вказувати фрази або слова в полі тригера якомога точніше та лаконічніше.
Лаконічна, чітка та точна умова для блоку допомагає чат-боту правильно запустити подію, що міститься в блоці.
Чим складніші, розпливчасті та довші фрази включає умова, тим довше ШІ обробляє повідомлення клієнтів, що може призвести до неправильної поведінки вашого потоку.
Зверніть увагу!
Тригер НЕ повинен складатися лише з одного слова: хоча умови мають бути лаконічними, вони повинні відображати значення, яке шукає бот.
Якщо модель порівнює два різних окремих слова, вони не збігатимуться. Наприклад, замість використання слова “invoice” використовуйте умову “payment for the monthly invoice.” Ця умова краще відповідатиме передбачуваним вимогам і надасть моделі ШІ необхідні критерії для семантичного зіставлення.
Таким чином, використовуючи опцію "Семантичний пошук", ШІ аналізуватиме різні можливості, щоб зрозуміти значення повідомлення клієнта, і на основі збігу чат-бот запустить відповідну подію.
Конструктор тригерів
Тригер — це унікальна, спеціалізована функція, призначена для швидкого створення тригерів у відповідних блоках для реагування на вхідні зворотні виклики з різних каналів, платіжних систем та інших інтеграцій.
Відповідно, конструктор тригерів доступний лише для блоків, які підтримують тригери:

Щоб скористатися конструктором тригерів, відкрийте налаштування блоку, де ви побачите відповідну кнопку, розташовану безпосередньо над полем умови:

Після натискання відповідної кнопки відкриється вікно для роботи з умовами:

Тригери MaviBot

Вкладка "Тригери MaviBot" у конструкторі тригерів містить усі системні умови, які зберігаються та доступні для використання в різних розділах MaviBot.
Тригери за замовчуванням
Ця функціональність працює аналогічно вкладеним умовам у блоці: тут ви вказуєте умови, які НЕ є вбудованими в систему. Це може бути тег воронки, тег сайту або будь-яка інша умова, яка існує лише у вашому проекті.
Змінні

Тригери зі змінними налаштовуються досить просто.
Крок 1. Введіть назву змінної у відповідне поле.
Крок 2. Виберіть параметр порівняння.

Іншими словами, вкажіть, з чим ви хочете порівняти свою змінну: з конкретним значенням або іншою змінною.


Крок 3. Виберіть тип порівняння.

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

У прикладі значення змінної встановлено як більше або дорівнює 21. Що це означає?
Це означає, що подія в блоці спрацьовуватиме лише для клієнтів, які належать до вікової групи "дорослі" — тобто тих, кому 21 рік або більше.
Вираз "age >= 18" еквівалентний "age > 17."
Умова "age > 17" також спрацьовуватиме лише для тих, хто строго старше 17 років, тобто починаючи з 18 років і старше.
Розділи MaviBot

В умовах розділів MaviBot є типові зворотні виклики — системні сповіщення — про різні події в проекті.
Щоб запустити подію в блоці на основі системних сповіщень, встановіть необхідний зворотний виклик у полі умови, потім виберіть тип збігу та натисніть кнопку "Додати умову":
Після цього умова з'явиться у відповідних полях у блоці.
Якщо блок вже містить умову, натискання кнопки "Додати умову" додасть нову умову після існуючої. Якщо вам потрібно замінити стару умову на нову, натисніть "Замінити умову."
Месенджери

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

Крок 1. Щоб налаштувати умови для платіжних систем, переконайтеся, що ви підключили відповідну інтеграцію; інакше ви не зможете використовувати конструктор умов із потрібною системою.
Крок 2. Далі натисніть на потрібну платіжну систему.
Крок 3. Виберіть відповідний зворотний виклик.
Крок 4. Потім введіть суму платежу у відповідне поле та натисніть "Додати умову." Останній крок — написати відповідне повідомлення в налаштуваннях блоку:
Інші розділи конструктора умов налаштовуються аналогічно до розглянутих тут розділів.
Бажаємо успіхів!


