Перейти к основному содержимому

Шаблоны замен и функции

Шаблоны и функции используются в текстах сообщений, выражениях и условиях блоков и действий. Ниже — полный справочник, сгруппированный по назначению.

Где можно использовать

Шаблоны, функции и их описания частично доступны прямо в конструкторе — в Помощнике выражений и Подстановках. Использовать их можно в текстовых полях сообщений, значениях и условиях.

Как читать справочник

Все шаблоны — в моноширинном шрифте. Шаблоны вида [Имя] подставляются автоматически. Шаблоны вида #{имя} — это переменные.


Шаблоны блоков

Эти шаблоны используются в блоках сценария.

Переменные и выражения

ШаблонОписание
#{переменная}Хранилище данных — строка или массив (при выборке из списка/Google Таблиц). Обнуляется при завершении или перезапуске сценария. Доступна во всех блоках и действиях. Можно сохранять простые математические выражения с участием других переменных и шаблонов.
{{ X + Y }}Выражение, которое будет вычислено.
[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 и kopektrue или false для подстановки слов «рубли» и «копейки».
[CharUp]Делает следующий символ за шаблоном с большой буквы. Сам шаблон удаляется.
[CharLow]Делает следующий символ за шаблоном с маленькой буквы. Сам шаблон удаляется.
[StrLen(Строка)]Возвращает длину строки. Можно использовать шаблоны или переменные (в сценариях действий).
[Round(Число, Точность)]
[Round(Число)]
Округление числа до указанного знака. Без указания точности — до целого.
[LineBreak]Перенос строки. Используется, например, для отправки сообщения напрямую через Telegram Bot API в группу или канал.

Управление сценарием

ШаблонОписание
[Exit]Заменяется ключевым словом выхода из сценария. Используется в сообщении выхода. Только для блоков.
/to + ID блокаПереход на определённый блок сценария. Пример: /toABCD.

Шаблоны сценариев действий

Все шаблоны блоков работают и здесь

Все шаблоны из раздела выше доступны и в сценариях действий. Ниже — дополнительные шаблоны, специфичные для сценариев действий.

Чтобы вывести сообщение из сценария действий в блоке — используйте в поле блока шаблон [Actions].

Глобальные переменные

ШаблонОписание
#{g_globalbname}Значение глобальной переменной. К имени переменной добавляется префикс g_, например #{g_globalname}.
[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.

Дополнительно

Системные переменные

Существуют ещё системные переменные — их описание на отдельной странице: Системные переменные.

Шаблоны магазина и записи на услуги

Готовые модули магазина и записи на услуги имеют собственные шаблоны. Их описание находится прямо в рабочих областях этих модулей.