# Як бот вибирає відповідь

Бот не шукає відповідь по всій схемі. Він пам'ятає, на якому блоці зупинився кожен, і розбирає нове повідомлення за виходами саме цього блоку. Якщо розуміти цей порядок, легко пояснити, чому бот відповів так, а не інакше.

## Поточний блок

У кожного контакту є поточний блок — той, на якому бот зупинився й чекає відповіді. Зазвичай це повідомлення з кнопками або запитання.

Блоки, які відповіді не чекають, бот проходить одразу виходом «Продовжити»: додав тег, записав змінну, перевірив умову — і пішов далі, поки не дійде до блоку, де потрібна відповідь людини.

Коли людина натискає кнопку або пише повідомлення, бот дивиться на виходи поточного блоку, вибирає один із них і переходить стрілкою до наступного блоку. Тепер поточний — він.

> [!TIP]
> Поточний блок видно під час перевірки: у вікні «Перевірка бота» ввімкніть «Змінні та теги» — у рядку «Блок» показано блок, на якому ви зараз стоїте. Докладніше — на сторінці [Перевірка бота](https://support.watbot.org/uk/chatbots/builder/preview).

## Із чого починається розмова

Бот починає сценарій спочатку — зі стартового блоку, — коли:

- людина пише боту вперше;
- людина запускає бота заново;
- людина переходить за [додатковим посиланням](https://support.watbot.org/uk/chatbots/links) — тоді розмова починається зі сценарію, вибраного для посилання.

Запустити бота заново людина може сама:

- у Telegram — командою `/start`;
- у MAX — командою `/start`;
- у ВКонтакте — повідомленням `000`;
- у Viber — повідомленням `000`.

Який сценарій відкриється під час запуску, бот вирішує так:

1. Якщо в контакту є тег, для якого призначено альтернативний головний сценарій, — цей сценарій.
2. Інакше — сценарій, призначений головним.
3. Якщо головним нічого не призначали — «Головний сценарій».

Як призначити головний і альтернативний сценарій — на сторінці [Сценарії](https://support.watbot.org/uk/chatbots/builder/scenarios).

## Як бот розбирає повідомлення

Людина стоїть на блоці з кнопками й щось відповідає. Бот перевіряє по порядку:

1. **Службові слова.** «стоп», «stop» і «/stop» відписують людину від розсилок — див. нижче.
2. **Натиснута кнопка.** Людина натиснула кнопку блоку — бот іде її виходом.
3. **Номер кнопки.** Якщо в блоці ввімкнено «Відповідь цифрами» і людина надіслала число, бот бере кнопку з таким номером.
4. **Текст кнопки.** Людина написала назву кнопки сама — бот іде її виходом. Текст має збігтися з назвою повністю; великі й малі літери не розрізняються.
5. **«Будь-яка інша фраза».** Нічого не збіглося, або людина надіслала файл замість тексту, — бот іде виходом «Будь-яка інша фраза».
6. **Повтор запитання.** Якщо вихід «Будь-яка інша фраза» ні з чим не з'єднано, бот надішле повідомлення блоку ще раз. Людина залишається на тому самому блоці.

Повтором керує перемикач «Повторне запитання» в налаштуваннях блоку: якщо його вимкнути, на незрозумілу відповідь бот промовчить. Перемикачі «Відповідь цифрами» і «Повторне запитання» та перевірку відповіді («Валідація») описано на сторінці [Повідомлення та кнопки](https://support.watbot.org/uk/chatbots/blocks/messages).

![Виходи блока: кнопки «Доставка» і «Каталог», «Будь-яка інша фраза» і «Продовжити»](https://support.watbot.org/_media/uk/01-chatbots/01-builder/_images/block-outputs.webp?v=1791781231)

### Приклад

Квітковий магазин «Ромашка». Людина стоїть на блоці із запитанням «Що вас цікавить?» і кнопками «Каталог» і «Доставка».

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

![Вікно «Перевірка бота»: на «Скільки коштує доставка?» бот повторив запитання, на «2» — відповів про доставку](https://support.watbot.org/_media/uk/01-chatbots/01-builder/_images/replies-example.webp?v=1791781231)

## Команди, які працюють усюди

Щоб фрази на кшталт «Меню» або «Оператор» працювали з будь-якого місця бота, їх не потрібно додавати в кожен блок. Для цього є блок [«Глобальне меню»](https://support.watbot.org/uk/chatbots/blocks/messages/global-menu): його пункти бот перевіряє, коли відповідь не збіглася з жодною кнопкою поточного блоку — до переходу виходом «Будь-яка інша фраза».

У глобального меню є і свій вихід «Будь-яка інша фраза». Він спрацьовує, коли такий самий вихід поточного блоку ні з чим не з'єднано, — виходить спільна відповідь «я вас не зрозумів» для всього бота.

## Слова «стоп»

Слова «стоп», «stop» і «/stop» бот перевіряє раніше за кнопки блоку. Якщо людина напише «стоп», бот відпише її від розсилок, навіть коли в блоці є кнопка з такою назвою. Що відбувається далі і як людині підписатися знову — на сторінці [Отримувачі та фільтри](https://support.watbot.org/uk/chatbots/mailings/audience).

> [!WARNING]
> Не називайте кнопки словами «Стоп» і «Stop»: якщо людина набере назву такої кнопки текстом, бот сприйме це як відписку від розсилок.

## Коли бот не відповідає

- **У власника проєкту немає підписки Pro.** Бот не веде людей за сценарієм. Докладніше — на сторінці [Що доступно без Pro](https://support.watbot.org/uk/billing/without-pro).
- **Бот вимкнено.** Перевірте перемикач «Увімкнути бота»: «Налаштування» → «Основне».
- **Бот використовується лише для листування.** У розділі «Налаштування» → «Додатково» ввімкнено перемикач «Вимкнути бота, використовувати сервіс тільки для листування з клієнтами».
- **Бота зупинено для цієї людини.** Оператор узяв діалог на себе або контакт заблоковано — див. розділ [Повідомлення](https://support.watbot.org/uk/chatbots/messages).
- **Відповідь не підійшла до жодного виходу.** «Будь-яка інша фраза» ні з чим не з'єднана, а «Повторне запитання» в блоці вимкнено.

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

Якщо бот відповідає не тим, чого ви очікували, відкрийте блок і подивіться [«Лог виконання»](https://support.watbot.org/uk/chatbots/blocks): у ньому видно, яке повідомлення надійшло й чим закінчилося виконання блоку.
