# Як створити новий сценарій бота?

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

## Коли знадобиться

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

## Що важливо знати

- **Сценарій** — послідовність повідомлень, дій та логічних переходів, які виконує бот під час діалогу з користувачем.
- **Секція** — логічний блок сценарію, який може містити кілька нод та мати точки входу та виходу.
- **Нода** — окремий елемент сценарію (повідомлення, клавіатура, очікування вводу, дія тощо).
- **Edge** — зв'язок між нодами, який визначає послідовність виконання сценарію.

## Перед початком

- [x] Ви увійшли в систему з правами інтегратора або адміністратора.
- [x] У вас є створений бот, для якого потрібно створити сценарій.
- [x] Ви знаєте базову структуру діалогу, яку хочете реалізувати.

## Покрокова інструкція

### 1. Відкрити редактор сценарію

1. Перейдіть до модуля **Сценарій** через `Меню -> Сценарій`.
2. Виберіть бота, для якого потрібно створити сценарій.
3. Натисніть на кнопку редагування сценарію або перейдіть за роутом `/dialog/bot-scenario/:id`, де `:id` — це ID вашого бота.

### 2. Створити першу секцію

1. У панелі секцій зверху екрана натисніть кнопку **"Додати секцію"** або **"Створити секцію"**.
2. У модальному вікні введіть назву секції (наприклад, "Стартове привітання").
3. Натисніть **"Створити"** — секція з'явиться у списку секцій.

### 3. Встановити стартову секцію

1. У списку секцій знайдіть створену секцію.
2. Натисніть на іконку зірочки або виберіть опцію **"Встановити як стартову"**.
3. Система автоматично встановить цю секцію як точку входу в сценарій.

### 4. Додати першу ноду (повідомлення)

1. На рабочее полотно (canvas) натисніть правою кнопкою миші або використайте кнопку **"Додати ноду"**.
2. У модальному вікні виберіть тип ноди **"Повідомлення"** (Message).
3. Нода з'явиться на рабочее полотно (canvas) — перетягніть її в потрібне місце.

### 5. Налаштувати текст повідомлення

1. Клацніть на ноду, щоб вибрати її — справа відкриється панель редагування (RightSideBar).
2. У полі **"Текст повідомлення"** введіть текст, який буде відправлятися користувачу.
3. Натисніть **"Зберегти"** або просто перейдіть до наступного кроку — зміни зберігаються автоматично.

### 6. Додати клавіатуру з кнопками

1. Додайте нову ноду типу **"Клавіатура"** (Keyboard) на рабочее полотно (canvas).
2. З'єднайте ноду повідомлення з нодою клавіатури через edge (перетягніть зв'язок від вихідного handle повідомлення до вхідного handle клавіатури).
3. У панелі редагування клавіатури додайте кнопки:
   - Натисніть **"Додати кнопку"**.
   - Введіть текст кнопки.
   - Налаштуйте перехід при натисканні кнопки (виберіть цільову ноду з випадаючого списку).

### 7. Додати очікування вводу (за потреби)

1. Якщо потрібно зібрати дані від користувача, додайте ноду типу **"Очікування вводу"** (Input).
2. З'єднайте клавіатуру з Input нодою через edge.
3. У панелі редагування Input налаштуйте:
   - Тип вводу (текст, число, дата, email тощо).
   - Валідацію введених даних.
   - Змінну, в яку зберігатиметься введене значення.

### 8. Зберегти сценарій

1. Перевірте структуру сценарію на рабочее полотно (canvas) — переконайтеся, що всі ноди з'єднані правильно.
2. Натисніть кнопку **"Зберегти"** знизу екрана або використайте комбінацію клавіш `Ctrl+S` (або `Cmd+S` на Mac).
3. Система збереже всі зміни та покаже повідомлення про успіх.

## Що відбувається після

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

## Як переконатися, що все вдалось

- Перевірте, що секція з'явилася у списку секцій зверху екрана.
- Переконайтеся, що стартова секція позначена відповідним індикатором.
- Перевірте, що всі ноди відображаються на рабочее полотно (canvas) та правильно з'єднані.
- Спробуйте відкрити сценарій ще раз — всі зміни повинні зберегтися.

## Пов'язані матеріали

- [Редагувати сценарій](/uk/scenariodialog/how-to/edit-scenario.md)
- [Створити секцію](/uk/scenariodialog/how-to/create-section.md)
- [Додати переклади](/uk/scenariodialog/how-to/add-translations.md)

