Як бот вибирає відповідь
Бот не шукає відповідь по всій схемі. Він пам'ятає, на якому блоці зупинився кожен, і розбирає нове повідомлення за виходами саме цього блоку. Якщо розуміти цей порядок, легко пояснити, чому бот відповів так, а не інакше.
Поточний блок
У кожного контакту є поточний блок — той, на якому бот зупинився й чекає відповіді. Зазвичай це повідомлення з кнопками або запитання.
Блоки, які відповіді не чекають, бот проходить одразу виходом «Продовжити»: додав тег, записав змінну, перевірив умову — і пішов далі, поки не дійде до блоку, де потрібна відповідь людини.
Коли людина натискає кнопку або пише повідомлення, бот дивиться на виходи поточного блоку, вибирає один із них і переходить стрілкою до наступного блоку. Тепер поточний — він.
Порада
Поточний блок видно під час перевірки: у вікні «Перевірка бота» ввімкніть «Змінні та теги» — у рядку «Блок» показано блок, на якому ви зараз стоїте. Докладніше — на сторінці Перевірка бота.
Із чого починається розмова
Бот починає сценарій спочатку — зі стартового блоку, — коли:
- людина пише боту вперше;
- людина запускає бота заново;
- людина переходить за додатковим посиланням — тоді розмова починається зі сценарію, вибраного для посилання.
Запустити бота заново людина може сама:
- у Telegram — командою
/start; - у MAX — командою
/start; - у ВКонтакте — повідомленням
000; - у Viber — повідомленням
000.
Який сценарій відкриється під час запуску, бот вирішує так:
- Якщо в контакту є тег, для якого призначено альтернативний головний сценарій, — цей сценарій.
- Інакше — сценарій, призначений головним.
- Якщо головним нічого не призначали — «Головний сценарій».
Як призначити головний і альтернативний сценарій — на сторінці Сценарії.
Як бот розбирає повідомлення
Людина стоїть на блоці з кнопками й щось відповідає. Бот перевіряє по порядку:
- Службові слова. «стоп», «stop» і «/stop» відписують людину від розсилок — див. нижче.
- Натиснута кнопка. Людина натиснула кнопку блоку — бот іде її виходом.
- Номер кнопки. Якщо в блоці ввімкнено «Відповідь цифрами» і людина надіслала число, бот бере кнопку з таким номером.
- Текст кнопки. Людина написала назву кнопки сама — бот іде її виходом. Текст має збігтися з назвою повністю; великі й малі літери не розрізняються.
- «Будь-яка інша фраза». Нічого не збіглося, або людина надіслала файл замість тексту, — бот іде виходом «Будь-яка інша фраза».
- Повтор запитання. Якщо вихід «Будь-яка інша фраза» ні з чим не з'єднано, бот надішле повідомлення блоку ще раз. Людина залишається на тому самому блоці.
Повтором керує перемикач «Повторне запитання» в налаштуваннях блоку: якщо його вимкнути, на незрозумілу відповідь бот промовчить. Перемикачі «Відповідь цифрами» і «Повторне запитання» та перевірку відповіді («Валідація») описано на сторінці Повідомлення та кнопки.


Приклад
Квітковий магазин «Ромашка». Людина стоїть на блоці із запитанням «Що вас цікавить?» і кнопками «Каталог» і «Доставка».
| Людина відповідає | Що робить бот |
|---|---|
| Натискає «Доставка» | Іде виходом «Доставка» |
| Пише «доставка» | Іде виходом «Доставка»: текст збігся з назвою кнопки |
| Пише «2» | Іде виходом «Доставка»: це друга кнопка, а «Відповідь цифрами» ввімкнено |
| Пише «Скільки коштує доставка?» | Іде виходом «Будь-яка інша фраза». Якщо його не з'єднано — повторює запитання |
| Пише «стоп» | Відписує людину від розсилок |


Команди, які працюють усюди
Щоб фрази на кшталт «Меню» або «Оператор» працювали з будь-якого місця бота, їх не потрібно додавати в кожен блок. Для цього є блок «Глобальне меню»: його пункти бот перевіряє, коли відповідь не збіглася з жодною кнопкою поточного блоку — до переходу виходом «Будь-яка інша фраза».
У глобального меню є і свій вихід «Будь-яка інша фраза». Він спрацьовує, коли такий самий вихід поточного блоку ні з чим не з'єднано, — виходить спільна відповідь «я вас не зрозумів» для всього бота.
Слова «стоп»
Слова «стоп», «stop» і «/stop» бот перевіряє раніше за кнопки блоку. Якщо людина напише «стоп», бот відпише її від розсилок, навіть коли в блоці є кнопка з такою назвою. Що відбувається далі і як людині підписатися знову — на сторінці Отримувачі та фільтри.
Увага
Не називайте кнопки словами «Стоп» і «Stop»: якщо людина набере назву такої кнопки текстом, бот сприйме це як відписку від розсилок.
Коли бот не відповідає
- У власника проєкту немає підписки Pro. Бот не веде людей за сценарієм. Докладніше — на сторінці Що доступно без Pro.
- Бот вимкнено. Перевірте перемикач «Увімкнути бота»: «Налаштування» → «Основне».
- Бот використовується лише для листування. У розділі «Налаштування» → «Додатково» ввімкнено перемикач «Вимкнути бота, використовувати сервіс тільки для листування з клієнтами».
- Бота зупинено для цієї людини. Оператор узяв діалог на себе або контакт заблоковано — див. розділ Повідомлення.
- Відповідь не підійшла до жодного виходу. «Будь-яка інша фраза» ні з чим не з'єднана, а «Повторне запитання» в блоці вимкнено.
Коли бот вимкнений, працює лише для листування або зупинений для людини, повідомлення цієї людини все одно зберігаються в листуванні — оператор може відповісти на них сам.
Якщо бот відповідає не тим, чого ви очікували, відкрийте блок і подивіться «Лог виконання»: у ньому видно, яке повідомлення надійшло й чим закінчилося виконання блоку.