ТОП-5 переменных в Smartbot Pro

Рассказываем, чем полезны в сценариях и как настроить

Чем полезны переменные 

Переменные в Smartbot Pro — это «ячейки», в которых хранятся данные. Например, текст, число или файл.

Название переменных указывают между знаками %

С помощью переменных можно: 

  • собирать и хранить информацию о пользователях бота: текст сообщения, телефон, количество заказов, источник перехода и другие данные;
  • сегментировать аудиторию и персонализировать контент: разделить подписчиков на группы, сформировать индивидуальные предложения, добавить имя и процент скидки в рассылку;
  • ставить условия: если %тип_клиента% = новый → предложить регистрацию в программе лояльности;
  • выполнять математические операции: например, начислить бонусы и вывести баланс пользователю;
  • автоматизировать работу с данными: получить из таблицы или CRM-системы и отправить менеджеру.

Переменные помогают расширить возможности чат-бота, настроить логику сценария в зависимости от действий пользователей и сократить рутину. Например, менеджерам не нужно вносить данные в таблицу, вручную менять текст в рассылке или следить, когда заканчивается акция. Все эти функции можно настроить в сценарии бота. 

Классификация переменных в Smartbot Pro

В конструкторе есть три группы переменных:

1. Специальные. Это встроенные переменные, которые нельзя изменить или удалить.  

Несколько примеров:

%message_text% — текст сообщения пользователя;

%weekday% — день недели;

%product_price% — стоимость товара в рублях;

%shopback_data% — данные о заказе пользователе в Telegram-магазине;

%leaderboard% — рейтинг пользователей.

В Smartbot Pro более 50 специальных переменных. Они срабатывают автоматически, когда сценарий выполняется. Например, сохраняют ID пользователя из Telegram или ВКонтакте. 

2. Пользовательские. Это кастомные переменные, которые можно создавать и настраивать самостоятельно. 

Например, сделать счётчик бонусов в программе лояльности, посчитать количество заказов или добавить клиенту статус: новый, лояльный, сомневающийся. Для каждого пользователя значение переменной будет индивидуальным. 

3. Глобальные. Переменные, которые хранят одинаковое значение для всех подписчиков бота. 

Пример: пользовательская переменная считает заказы одного клиента, а глобальная — всех покупателей.

Как создать переменную в Smartbot Pro

В сценарии выберите в верхнем меню раздел «Переменные». Нажмите кнопку «Добавить». В открывшемся окне напишите название и укажите уровень доступа — это группа, в которой будет новая переменная: пользовательская или глобальная. 

Выберите тип переменной — он зависит от формата данных, которые вам нужно сохранить.

Вложение: подходит для файлов — изображения, аудиозаписи, документы.

Строка: текст, индивидуальный код. Например, имя, город, сообщение пользователя.

Число: цифры, с которыми можно выполнять математические операции — месяц, количество бонусов, ID поста ВКонтакте.

Флаг: хранит значения только в формате «да» / «нет. Например, оформлял ли пользователь заказы.

Массив: переменная, в которой данные хранятся в формате списка. Например, сборник промокодов: ["SALE2025", "BONUS50", "WELCOME"].

Словарь: пары данных ключ + значение. Например, товар и его цена: {"Бургер": 100, "Картошка фри": 50, "Молочный коктейль": 70}. 

Функция: формула или правило, по которым бот выполнит действие. Например, будет склонять слова: 1 бонус, 5 бонусов. 

Дата / Дата и время: переменная позволяет прибавить или вычесть дни, часы, минуты и секунды от определённой даты. Например, отправить клиенту промокод за пять дней до дня рождения и напомнить о скидке через неделю после.

Когда заполните все поля, нажмите кнопку «Создать»

Дальше приводим пять примеров переменных, которые часто используют в сценариях, и рассказываем, как их настроить.

1. %public_api_data%

Переменная позволяет подключить Smartbot Pro к внешним системам для обмена данными и запуска сценария. Например, когда клиент сделает заказ на сайте, бот может отправлять ему уведомления о статусе. 

Группа: специальные.

Тип: словарь.

Как настроить: перейдите в сценарий и в меню выберите раздел «События» →Webhook.

Нажмите на блок и в меню с настройками создайте токен.

Напишите название — это может быть любой набор символов. Уровень доступа выбран автоматически, изменять это поле не нужно.

Вернитесь в меню настроек, выберите токен и канал. Система автоматически создаст URL и POST-запрос.

В теле запроса укажите peer_id — это ID чата, в который будет отправлено сообщение от бота. В поле «data» напишите данные, которые хотите передавать в бот. Например, имя и фамилию клиента, состав и номер заказа: { "Имя": "Григорий", "Фамилия": "Иванов", "Номер заказа": 432256, "Состав": { "Пирожное": 3, "Мороженое": 1 }}. Скопируйте указанный URL и отправьте на него POST-запрос. 

Добавьте следующий блок сценария. В нашем примере это будет «Отправить сообщение». Чтобы структурировать текст, в меню настроек напишите команду: {{ %public_api_data% | pretty }}. Это позволит выводить данные в формате списка.

Пример сообщения в боте

2. %ref%

Переменная позволяет отслеживать источники перехода в бот, чтобы понять, какие каналы привлекают больше пользователей. Вы сможете анализировать данные по трафику и оптимизировать бюджет на маркетинг.

Группа: специальные.

Тип: строка.

Как настроить: в ссылку на Telegram-бот добавьте параметр ?start и источник трафика. Например, reklama, blog, channel. Для сообщества ВКонтакте вместо ?start укажите параметр ?ref.

Пример готовой ссылки: https://t.me/TestTesttesti?start=reklama

Чтобы отслеживать источники перехода, зайдите в раздел «Пользователи» и добавьте переменную.

Теперь вы будете видеть, откуда пришли подписчики бота.

Переменную %ref% можно использовать для сегментации аудитории. Допустим, тем, кто пришёл с Telegram-канала, давать скидку в 5%, а для трафика с рекламы — 10%. 

Как настроить сценарий для каждой группы пользователей: в блоке «Первое сообщение и старт бота» нажмите на кнопку «Условие на ref». Добавьте источник перехода.

Выберите следующий блок и настройте его. Например, бот отправит сообщение с приветствием и размером скидки.

Также настройте блок «Первое сообщение и старт бота» для другого источника.

3. %счётчик_бонусов%

С помощью переменной можно начислять и списывать бонусы в боте. 

Группа: пользовательские.

Тип: число.  

Как настроить: для примера возьмём такой сценарий — за регистрацию в программе лояльности бот начислит клиенту 500 бонусов. 

Создайте пользовательскую переменную с типом «Число» и укажите начальное значение. В нашем случае это 0.

Теперь нужно добавить переменную в сценарий. В разделе «Действия» выберите блок «Установить переменную». В меню настроек нажмите на кнопку «Операции с числами». 

В выпадающем списке и после знака = укажите переменную, которую создали. Добавьте количество бонусов.

Второй способ добавить переменную в сценарий — это блок «Выполнить SmartQuery». В меню настроек напишите такую команду: %бонусы% += 500.

SmartQuery — скриптовый язык программирования, который позволяет расширить возможности цепочек в Smartbot. Например, можно создавать сложные условия с операторами И/ИЛИ, работать с массивами и словарями.

4. %datetime%

С помощью переменной можно проводить операции с текущей датой и временем. Например, у вас проходит акция, которая заканчивается в воскресенье в 20:00. Бот проверит это условие и запустит соответствующую цепочку в ответ на сообщение пользователя. 

Группа: специальные.

Тип: дата и время.

Как настроить: создайте глобальную переменную с типом «Дата и время». В ней укажите, когда закончится акция.

Перейдите в сценарий, добавьте блок «Условие» и настройте его: нажмите на кнопку «Условие на переменную», затем в поле ЕСЛИ выберите %datetime%, а в строке «Дата» — глобальную переменную, которую вы создали. Поставьте между ними знак >.

Добавьте следующие шаги. Например, если текущая дата и время больше, чем значение глобальной переменной %stop_sale%, бот сообщит об окончании акции. Если меньше — отправит сообщение с условиями.

Вы можете отображать дату в разных форматах. Например, 3.08 или 3 августа, воскресенье. Подробная инструкция есть в документации

5. %склонение%

Переменная позволяет автоматически склонять слова в тексте сообщения. Например, 1 бонус, 2 бонуса, 10 бонусов. Это поможет сэкономить время на настройке сценария: вместо того чтобы писать текст вручную, можно просто добавить переменную.

Группа: глобальные.

Тип: функция.

Как настроить: создайте переменную, напишите название и в поле «Значение» внесите следующую формулу:

(bonus,_) => ("бонус" if (bonus == 1 or str(bonus).endswith("1")) else "бонуса" if (bonus in [2,3,4] or str(bonus).endswith("2") or str(bonus).endswith("3") or str(bonus).endswith("4")) else "бонусов")

Это готовое правило, которое используют разработчики Smartbot. Вы можете менять слово, которое нужно склонять. Например, вместо «бонус» написать в формуле «балл». 

В настройках блока «Отправить сообщение» напишите формулу: %бонусы% {{ %склонение_бонусов%(%бонусы%) }}. Это пример, используйте названия переменных, которые вы создавали.

Теперь в боте автоматически будет корректное склонение слов.

Используйте переменные, чтобы улучшить пользовательский опыт и собирать ботов быстрее. Если есть вопросы, пишите в техподдержку через форму на сайте — всегда поможем.