Стандартні (вбудовані) actions у сценарії
Стандартні actions — це дії, які вже реалізовані в платформі (Engine та модулі Operator Panel, Custom Data, Registered Users, Fast Line тощо). Їх не потрібно створювати в Action Jail — достатньо додати ноду Action і обрати потрібну функцію в Node Inspector.
Повний довідник усіх actions: Довідник actions. Нижче — найчастіші групи з типовими параметрами та виходами (return), узгоджені з аналізом
docs/client_flow.
Зміст
- Збереження констант (
set) - Маршрутизація (
goto_alias,switch,clear_constant) - Підключення до оператора
- Реєстрація та ідентифікація (
registered_users__*) - Custom Data (
custom_modules__*) - Графік роботи (
check_schedule) - Умовна логіка (
if_else) - Таймінги та інтервали (
sleep,interval__*) - Медіа (
send_photo,send_video,send_file) - Вхід користувача (
get_user_input) - Fastline / AI (
fastline_completion,fastline_pro) - Аналітика (
statistic__set)
1. Збереження констант (set)
Навіщо: записати значення у змінні стану (константи) — вибір мови, поля реєстрації, результати API.
Нода-шаблон у редакторі: часто використовується нода з шаблоном Set (action_set) — див. Нода Set (константи) та Параметри Set.
Технічна дія set: пари ключ → значення в json_obj; підтримуються плейсхолдери {{const}} та lodash-об’єкти для складних перетворень.
Вихід: зазвичай одна гілка default → наступна нода за next_element_id.
2. Маршрутизація (goto_alias, switch, clear_constant)
Навіщо:
| Дія | Призначення |
|---|---|
goto_alias | Перехід до ноди за alias (назва секції/ноди) — меню, «Назад». |
switch | Розгалуження за умовами (ключі = імена подій/гілок, значення = вираз). |
clear_constant | Очистити константи за префіксом (module_name — префікси через кому). |
Відмінність від роутера (Router): нода Router використовує шаблон action_router і правила в UI. Дії switch / goto_alias — класичні built-in actions у ноді Action (зручні для JSON і імпортованих сценаріїв).
Типові виходи switch: перша умова, що стала істинною → відповідна подія; при помилці парсингу — error.
3. Підключення до оператора (operator_panel__connect_to_operator_with_msg)
Навіщо: створити чат-кімнату й передати діалог оператору з контекстом і темою черги.
Клієнтські матеріали: Нода «Підключення до оператора», Параметри, сценарії з Operator Line.
Ключові параметри (скорочено): subject_alias, customTextToOperator, history_count, кнопки закриття/повернення, chat_closed_alias, fastline_operator тощо.
Виходи: success, banned, error — змикайте окремі гілки на полотні.
4. Реєстрація та ідентифікація (registered_users__*)
Дії: registered_users__set — зберегти/оновити профіль; registered_users__get — знайти клієнта за чатом або телефоном.
Параметри (загально): check_by_phone, active, anonym; дані реєстрації зазвичай з констант registration:*.
Виходи registered_users__get: success (знайдено) / error (не знайдено).
Деталі: Довідник actions — Registered Users (розділ Registered Users).
5. Custom Data (custom_modules__*)
Дії: custom_modules__get — знайти запис; custom_modules__set — створити; custom_modules__update — оновити за id.
Інструкції для інтеграторів: Як отримати запис, Як створити запис, Патерни Custom Data.
Ключові параметри: module_name (alias моделі), filters, fields, set_to, order.
6. Графік роботи (check_schedule)
Навіщо: перевірити, чи поточний час у межах робочого інтервалу (перед підключенням до оператора або для повідомлення «зараз не працюємо»).
Параметри: morning_time, evening_time, weekends, timezone.
Виходи: success (в межах графіку) / error (поза графіком або вихідний).
7. Умовна логіка (if_else)
Навіщо: складні гілки if / elseif / else з умовами та опційним записом констант у гілках.
Параметри: об’єкти if, elseif, else з умовами та полем event для імені виходу.
Вихід: подія з першої спрацьованої гілки або default.
Пов’язано: Actions у сценаріях (огляд умовних дій).
8. Таймінги та інтервали (sleep, interval__*)
| Дія | Призначення |
|---|---|
sleep | Затримка (секунди), імітація «набору». Параметр: delay. |
interval__start | Періодичний таймер (tick, end, type). |
interval__end | Зупинити таймер поточної секції. |
interval__end_all | Зупинити всі таймери для чату. |
Вихід sleep: зазвичай success.
9. Медіа (send_photo, send_video, send_file)
Навіщо: надіслати зображення, відео або файл за URL (промо, чеки, інструкції).
Детально: Відображення зображення користувачу — UI та action send_photo.
Параметри: зазвичай url або посилання на константу з масивом посилань.
10. Вхід користувача (get_user_input)
Навіщо: нормалізувати текст повідомлення для групових ботів (згадування @bot), записати user_input, ім’я, файл тощо.
Виходи: raw_input, bot_mentioned, no_input.
Пов’язано: Очікування вводу — нода застосунку; get_user_input — низькорівнева дія для специфічних кейсів.
11. Fastline / AI (fastline_completion, fastline_pro)
Навіщо: звернення до AI (Fastline) з контекстом сценарію; fastline_pro — розширений режим.
Налаштування агентів і БЗ: модуль FastlinePro у конструкторі — див. документацію модуля FastlinePro. У сценарії параметри залежать від конфігурації дії в Action Jail.
Виходи: текст відповіді або error.
12. Аналітика (statistic__set)
Навіщо: запис події в статистику (воронки, звіти, позиції).
Параметри: залежать від реалізації (назва події, позиція тощо) — уточнюйте в Node Inspector і довіднику actions.
Підсумкова таблиця
| Група | Типова сила використання | Де читати далі |
|---|---|---|
set | Дуже висока | set-node |
goto_alias / switch / clear_constant | Дуже висока | цей документ, §2 |
| Оператор | Дуже висока | connect-to-operator |
registered_users__* | Висока | actions-reference |
custom_modules__* | Висока | customdata how-to |
check_schedule | Висока | цей документ, §6 |
if_else | Висока | цей документ, §7 |
sleep / interval__* | Висока | цей документ, §8 |
| Медіа | Середня | display-image-to-user |
get_user_input | Середня | цей документ, §10 |
| Fastline | Висока | FastlinePro docs |
statistic__set | Середня | actions-reference |
Джерела для розробників
- Standard Actions Patterns (аналіз) — статистика використання в експортах сценаріїв.
- Реалізація в коді Engine (
kwizbot_engine/actions.jsта extra-модулі).