Шаблоны замен и функции
Шаблоны и функции используются в текстах сообщений, выражениях и условиях блоков и действий. Ниже — полный справочник, сгруппированный по назначению.
Шаблоны, функции и их описания частично доступны прямо в конструкторе — в Помощнике выражений и Подстановках. Использовать их можно в текстовых полях сообщений, значениях и условиях.
Все шаблоны — в моноширинном шрифте. Шаблоны вида [Имя] подставляются автоматически. Шаблоны вида #{имя} — это переменные.
Шаблоны блоков
Эти шаблоны используются в блоках сценария.
Переменные и выражения
| Шаблон | Описание |
|---|---|
| Хранилище данных — строка или массив (при выборке из списка/Google Таблиц). Обнуляется при завершении или перезапуске сценария. Доступна во всех блоках и действиях. Можно сохранять простые математические выражения с участием других переменных и шаблонов. |
| Выражение, которое будет вычислено. |
[Actions] или [External] | Сообщение, возвращаемое сценарием действий обратно в сценарий. Используется только в поле сообщения блока. |
Данные подписчика
| Шаблон | Описание |
|---|---|
[Name] | Имя подписчика. |
[FullName] | Имя и фамилия подписчика. |
[ClientLink] | Ссылка на профиль подписчика в мессенджере, если возможно. |
[ClientID] | ID подписчика в мессенджере или бот-лендинге. Используется для отправки сообщений в бот, выборки и сохранения данных в списках и таблицах. |
[Messenger] | Мессенджер или бот-лендинг подписчика: telegram, max, viber, vk, wa, lp, jivo. |
[BotID] | ID бота, через который подписчик взаимодействует с автоворонкой. Используется для отправки сообщений в бот и работы со списками/таблицами. |
Ответы подписчика
| Шаблон | Описание |
|---|---|
[Answer], [A], [Ответ] | Последний ответ подписчика. |
[AnswerN] | Ответ подписчика на блок с порядковым номером N. Также содержит нажатие кнопки типа «Значение». |
[ALast(X,Y,...)] | Ответ подписчика, пришедший последним, где X, Y — порядковые номера блоков. |
[AnswerID(id)] | Ответ подписчика на блок с указанным id. |
[ALastID(id1,id2,...)] | Ответ подписчика, пришедший последним, из блоков с указанными id. |
[DataN] | Данные, поступившие в сценарий извне — из другого сценария или с внешнего сервера. N — id данных (цифры или буквы). Возникает, например, при передаче данных через кнопки в сценарии других пользователей. |
Дата и время
| Шаблон | Описание |
|---|---|
[Date] | Текущая дата в формате дд.мм.гггг. |
[DaysBetween(date1, date2)] | Разница в днях между датами date2 и date1. |
[DaysInMonth] | Количество дней в текущем месяце. |
Генерация
| Шаблон | Описание |
|---|---|
[GenStrN] | Строка из N символов a-zA-Z0-9. |
[GenNumN] | Цифровая строка из N символов. |
[GenerateEmail] | Случайный email-адрес. |
[GeneratePhone(prefix)] | Случайный номер телефона, prefix — код страны. Пример: [GeneratePhone(+7)]. |
Отправка контента
| Шаблон | Описание |
|---|---|
[SendContact(phone, first_name, last_name)] | Отправляет контакт. Пример: [SendContact(+7913587xxxx, Иван, Петров)]. Для Telegram и бот-лендинга. |
[SendLocation(latitude, longitude)] | Отправляет карту по координатам. Пример: [SendLocation(55.7519, 37.6175)]. Только Telegram. |
[SendVenue(latitude, longitude, title, address)] | Отправляет карту с местом мероприятия. Пример: [SendVenue(55.7519, 37.6175, Кофейня, ул. Чайная, 123)]. Только Telegram. |
[Files(url1, url2, ...)] | Отправляет фото/файлы по URL. Шаблон удаляется из текста, файлы отправляются отдельно. Вместо URL можно указать переменную с URL'ами через запятую или несколько переменных. Если в Telegram отправляется несколько фото, их можно сгруппировать в настройках блока. Подходит, например, для отправки сгенерированных нейросетью картинок. |
Форматирование и текст
| Шаблон | Описание |
|---|---|
[SumInWords(SUM, ruble, kopek)] | Заменяет число SUM прописью. ruble и kopek — true или false для подстановки слов «рубли» и «копейки». |
[CharUp] | Делает следующий символ за шаблоном с большой буквы. Сам шаблон удаляется. |
[CharLow] | Делает следующий символ за шаблоном с маленькой буквы. Сам шаблон удаляется. |
[StrLen(Строка)] | Возвращает длину строки. Можно использовать шаблоны или переменные (в сценариях действий). |
[Round(Число, Точность)][Round(Число)] | Округление числа до указанного знака. Без указания точности — до целого. |
[LineBreak] | Перенос строки. Используется, например, для отправки сообщения напрямую через Telegram Bot API в группу или канал. |
Управление сценарием
| Шаблон | Описание |
|---|---|
[Exit] | Заменяется ключевым словом выхода из сценария. Используется в сообщении выхода. Только для блоков. |
/to + ID блока | Переход на определённый блок сценария. Пример: /toABCD. |
Шаблоны сценариев действий
Все шаблоны из раздела выше доступны и в сценариях действий. Ниже — дополнительные шаблоны, специфичные для сценариев действий.
Чтобы вывести сообщение из сценария действий в блоке — используйте в поле блока шаблон [Actions].
Глобальные переменные
| Шаблон | Описание |
|---|---|
| Значение глобальной переменной. К имени переменной добавляется префикс g_, например . |
[GlobalVar] | Текущее значение глобальной переменной. Используется в действии «Операции с данными» для изменения её значения или присвоения обычной переменной. |
Случайные значения
| Шаблон | Описание |
|---|---|
[Random(X, Y)] | Случайное число между X и Y. |
Операции с датами
| Шаблон | Описание |
|---|---|
[AddDate(date, N)] | Прибавляет к date N дней. Возвращает дд.мм.гггг. |
[AddMinutes(date, M)] | Прибавляет к date (дд.мм.гггг или дд.мм.гггг чч:мм) M минут. Возвращает дд.мм.гггг чч:мм. |
[DiffDates(date1, date2)] | Разница между датами в днях. Формат дд.мм.гггг. |
[DiffMinutes(date1, date2)] | Разница между датами в минутах. Формат дд.мм.гггг чч:мм. |
[WeekDay(date)] | День недели по дате date. Возвращает 1–7, где 1 — понедельник. |
Даты сравниваются прямо в поле условий и выражений — через значения, шаблоны или переменные. Например: #{date1} > [CurrentDate]. При выборках из списков можно сравнивать поле, содержащее дату, со значением, которое вы указываете.
Текущая дата и время
| Шаблон | Описание |
|---|---|
[CurrentDate] | Текущая дата формата дд.мм.гггг. |
[NextDate] | Дата завтрашнего дня дд.мм.гггг. |
[CurrentTime] | Текущее время чч:мм по часовому поясу аккаунта. |
[CurrentWeekDay] | Текущий день недели. 1–7. |
[CurrentDay] | Текущий день месяца. |
[CurrentDayNormal] | Текущий день месяца с ведущим нулём. |
[CurrentMonth] | Номер текущего месяца. 0–11 (0 — январь). |
[CurrentMonthNormal] | Номер текущего месяца с ведущим нулём. 01–12 (01 — январь). |
[CurrentYear] | Текущий год гггг. |
[CreationDate] | Дата добавления подписчика в базу дд.мм.гггг. |
Текущее состояние сценария
| Шаблон | Описание |
|---|---|
[CurrentMessage] | Порядковый номер блока, на котором сейчас находится сценарий. |
[CurrentMessageID] | ID блока, на котором сейчас находится сценарий. |
[PrevMessage] | Порядковый номер предыдущего блока. |
[PrevMessageID] | ID предыдущего блока. |
[Block] | Название текущего блока. |
[PrevBlock] | Название предыдущего блока. |
[Self] | 1. Текущее значение поля при работе со списками, Google Таблицами и CRM. 2. Текущее значение ID сделки и ID контакта в CRM. |
Информация об аккаунте
| Шаблон | Описание |
|---|---|
[AccountActive] | 1 — аккаунт активен, 0 — неактивен. |
[AccountTrial] | 1 — пробный период, 0 — пробный период закончился. |
[AccountTariff] | ID текущего тарифа. |
Реферальная система Telegram
| Шаблон | Описание |
|---|---|
[Balance] | Баланс подписчика. |
[Paid] | Сумма выплат. |
[Level] | Уровень в реферальной системе. |
[RefererClientID] | ClientID реферера. |
[RefererClientLink] | Ссылка на профиль реферера в Telegram. |
[RefererFullName] | Полное имя реферера в Telegram. |
[RefererName] | Имя реферера в Telegram. |
Дополнительно
Существуют ещё системные переменные — их описание на отдельной странице: Системные переменные.
Готовые модули магазина и записи на услуги имеют собственные шаблоны. Их описание находится прямо в рабочих областях этих модулей.