Справочник
Все блоки, подстановки, сравнения, правила условного текста и причины метки «не готов».
Блоки
| Блок | Что делает |
|---|---|
| Старт | Начало ветки первого сообщения |
| Входящее | Начало ветки, которая отрабатывает на каждый ответ человека |
| Запланировано | Начало ветки, которая запускается раз в час — для дожима |
| Отправить сообщение | Готовый текст или текст от ИИ |
| Установить переменную | Записать значение — вручную или с помощью ИИ |
| Условие | Развести по правилам: выход «выполнено» и «не выполнено» |
| Установить конверсию | Отметить, что диалог дошёл до этапа |
| А/Б тестирование | Случайно развести по вариантам в заданных долях |
| Отправить уведомление | Сообщение вашей команде в бот и колокольчик |
| Завершить диалог | Перестать обрабатывать ответы этого человека |
Подстановки
Пишутся в квадратных скобках: [user.name]. Внутри [if …] и в блоке «Условие» — без скобок.
| Подстановка | Что подставится |
|---|---|
| Получатель | |
[user.name] [user.username] [user.about] | Имя, ник, «О себе» |
[user.phone] [user.telegram_id] | Телефон, Telegram ID |
[user.premium] [user.verified] [user.scam] [user.fake] [user.restricted] | Метки профиля: true или false |
[user.last_seen_at] | Когда был в сети |
[user.channel.title] [user.channel.about] [user.channel.pinned_post] [user.channel.recent_posts_list] | Личный канал: название, описание, закреп, последние посты |
[user.source.messages_list] | Сообщения человека из спарсенных чатов |
| Отправитель — ваш аккаунт | |
[account.name] [account.username] [account.about] | Имя, ник, описание |
| Переписка | |
[message.incoming.last] [message.outgoing.last] | Последнее сообщение человека и ваше |
[message.count] [message.incoming.count] [message.outgoing.count] | Сколько сообщений всего, от человека, от вас |
[message.iteration.count] | Сколько ответов человека уже обработано |
[message.history] | Вся переписка — для задач ИИ |
| Только в блоке «Условие» | |
message.downtime.hours | Часов с последнего сообщения |
message.last.is_outgoing | Последнее сообщение — ваше |
user.offline.hours | Часов не в сети |
| Переменные | |
[variable.имя] | Переменная скрипта или списка аудитории |
Нет данных — подставится пустота. Подстановка с опечаткой останется в тексте как есть, со скобками.
Сравнения в «Условии»
| Тип значения | Сравнения |
|---|---|
| Текст | равно, не равно, содержит, не содержит, содержит слово, не содержит слово |
| Число | равно, не равно, больше чем, меньше чем |
| Да/Нет | равно, не равно |
«Все» — должны выполниться все правила, «Любое» — хватит одного.
Условный текст
| Запись | Что значит |
|---|---|
[if user.name]…[/if] | Показать, если заполнено |
[if not user.name]…[/if] | Показать, если не заполнено |
[if variable.город = Москва]…[else]…[/if] | Показать одно или другое |
= != contains !contains word !word > < | Равно, не равно, содержит кусок, содержит слово целиком, больше, меньше |
and or | Нужны оба условия / хватит одного |
Вкладывать [if] друг в друга нельзя, смешивать and и or в одном теге — тоже. Ошибку в тегах редактор подчёркивает красным.
Варианты текста
{вариант 1|вариант 2|вариант 3} — человек получит один вариант случайно. Фигурную скобку как символ пишут с обратной косой: \{.
Почему «не готов»
| Причина | Что делать |
|---|---|
| Ветка «Старт» не отправляет ни одного сообщения | Добавьте в неё «Отправить сообщение» |
В тексте сообщения, уведомления или переменной есть тег [if], [else] или [/if], подчёркнутый красным | Закройте тег или исправьте сравнение — как писать условия |
Имена переменных и конверсий
Начинаются с буквы, дальше — буквы, цифры и _. Имя не должно повторяться внутри скрипта. Переменная скрипта и переменная списка аудитории с одним именем — одна и та же переменная: чьё значение возьмётся.