Массивы: создание, формат и использование
Как создать пользовательский или глобальный массив, правильно записать JSON, изменить элементы, вывести список и посчитать его длину.
Массив — это поле, в котором хранится не одно значение, а список значений одного типа. Например, в массиве можно хранить товары в корзине, выбранные города, даты занятий или каталог объектов с названием и ценой.
Простой массив товаров выглядит так:
["Онлайн-курс", "Консультация", "Чек-лист"]
В этом массиве три элемента. Порядок важен: «Онлайн-курс» — первый элемент, «Консультация» — второй.
Пользовательский или глобальный массив¶
В BotMan можно создать массив двух видов.
Вид массива | Где хранится значение | Когда использовать |
|---|---|---|
Пользовательское поле | Отдельно у каждого подписчика | Корзина, избранное, ответы конкретного человека, выбранные даты |
Глобальная переменная | Одно общее значение для всех подписчиков | Общий список городов, каталог, расписание, разрешённые значения |
Если подписчик Анна добавит товар в пользовательский массив «Корзина», массив другого подписчика не изменится. Если сценарий добавит город в глобальный массив «Доступные города», новый список будут использовать все подписчики и все сценарии аккаунта.
Не храните персональные данные подписчика в глобальном массиве: его значение общее.
Какие элементы можно хранить¶
При создании массива выберите тип его элементов. Все элементы одного массива должны соответствовать выбранному типу.
Тип элементов | Пример |
|---|---|
Текст |
|
Число |
|
Дата |
|
Дата и время |
|
Объект |
|
Тип элементов задаётся при создании поля. Если позже понадобится другой тип, создайте новый массив и перенесите в него данные.
Как создать пользовательский массив¶
Откройте «Настройки» → «Пользовательские поля».
Нажмите «Добавить поле».
Укажите понятное название — например, «Товары в корзине».
В поле «Тип поля» выберите «Массив».
Выберите тип элементов массива.
При необходимости добавьте описание и сохраните поле.

Создание пользовательского поля типа «Массив»
У нового пользовательского поля ещё нет значения. Заполнить массив можно в сценарии с помощью шага «Действия».
Как создать глобальный массив¶
Откройте «Настройки» → «Глобальные переменные».
Нажмите «Добавить переменную».
Укажите название — например, «Доступные города».
Выберите тип «Массив» и тип элементов.
Введите начальное значение в формате JSON, например
["Москва", "Казань", "Сочи"].Сохраните переменную.

Создание глобальной переменной типа «Массив»
Глобальный массив можно менять в сценариях теми же действиями, что и пользовательский. Помните: каждое такое изменение сразу становится общим.
Формат JSON без ошибок¶
Значение массива записывается в формате JSON.
Весь список находится в квадратных скобках:
[].Элементы разделяются запятыми.
Текст, дата и дата со временем заключаются в двойные кавычки.
Числа записываются без кавычек.
Объект находится в фигурных скобках и содержит пары «ключ — значение».
Пустой массив записывается как
[].
Правильно:
["Москва", "Казань"]
Неправильно:
['Москва', 'Казань']
В JSON используются двойные кавычки, а не одинарные.
Как изменить массив¶
В шаге «Действия» доступны пять операций:
установить весь массив;
добавить один элемент в конец;
удалить элемент по индексу;
удалить первое совпадение по значению;
очистить поле.
Подробная инструкция и примеры для каждого типа находятся в статье «Действия с массивами».
Как вывести массив в сообщении¶
Добавьте массив в текст через меню переменных и функций в редакторе сообщения.
Пользовательский массив с простыми значениями выводится нумерованным списком:
1. Онлайн-курс2. Консультация3. Чек-лист
Для массива объектов BotMan использует поля name, quantity и price, если они есть. Например, объект
{"name": "Онлайн-курс", "quantity": 2, "price": 2990}
будет показан так:
1. Онлайн-курс x2 - 2990
Глобальный массив при прямой подстановке выводится компактным списком, например [Москва, Казань, Сочи]. Перед публикацией сценария воспользуйтесь кнопкой «Тестировать» и проверьте, подходит ли такой вид для вашего сообщения.
Как проверить массив¶
В шаге «Условие» массив можно проверить напрямую:
пустой он или нет;
содержит ли значение;
равно ли количество элементов заданному числу;
больше или меньше ли количество элементов заданного числа.
Для обычной развилки отдельное числовое поле не требуется. Например, чтобы продолжить сценарий только при наличии товаров, выберите «Товары в корзине» → «Не пустой».
Подробнее: «Проверка массива».
Как получить количество элементов¶
Если количество нужно сохранить, показать пользователю, использовать повторно или включить в расчёт, примените функцию «Количество элементов массива».
Создайте числовое поле — например, «Количество товаров».
В шаге «Действия» выберите это поле.
Выберите «Математические операции со значением».
Откройте меню переменных и функций.
В разделе «Системные функции» выберите «Количество элементов массива».
Выберите пользовательский или глобальный массив и сохраните действие.

Функция «Количество элементов массива»
Функция array_length возвращает число. Для пустого массива или массива без значения результат равен 0.
Что читать дальше¶
Действия с массивами — добавить, удалить, заменить или очистить элементы.
Проверка массива — построить развилку по содержимому и количеству элементов.
Пользовательские поля — общие правила работы с данными подписчика.
Глобальные переменные — общие значения для сценариев аккаунта.