В BotMan есть четыре способа хранить данные, и путаница между ними — самое частое, с чем сталкиваются новички. Разберём на аналогии с жилым домом.
Одно значение, и оно своё у каждого пользователя. У Анны в тумбочке лежит «10» (её бюджет), у Петра — «100» (его бюджет). Тумбочки разные, значения разные, друг на друга не влияют.
То же самое, только вместо одной вещи хранится сразу несколько — и это по-прежнему личное, только у этого человека. Корзина Анны — это её корзина, у Петра своя, отдельная.
Значение одно, и оно общее для всех. Если кто-то его изменил — увидят все жители подъезда (все подписчики бота). Пример: счётчик «сколько промокодов уже выдано» — он один на весь бот, а не у каждого свой.
Список значений, общий для всех подписчиков и сценариев сразу. Если бот добавит туда новый город — этот город появится у всех, кто заглянет в шкаф. Пример: список городов, куда возможна доставка — он один на весь магазин, а не у каждого покупателя свой.
Важно: раз глобальный массив видят все, туда нельзя класть личные данные конкретного человека (например, его телефон или его личную корзину) — их увидят и остальные.
Это отдельная, пятая вещь — но это не то, что создаёте Вы сами. Это готовые подписи на доме, которые уже там есть: номер квартиры, дата постройки и так далее. В BotMan это, например, имя подписчика, сегодняшняя дата, статус подписки. Их не нужно создавать и заполнять — бот сам знает эти данные и просто подставляет их в сообщения.
| Что это | На кого рассчитано | Одно значение или список | Простыми словами |
|---|---|---|---|
| Пользовательское поле | у каждого своё | одно | Ваша личная тумбочка |
| Пользовательский массив | у каждого своё | список | Ваш личный шкаф с полками |
| Глобальная переменная | одно на всех | одно | общий почтовый ящик в подъезде |
| Глобальный массив | одно на всех | список | общий шкаф в подъезде |
| Системная переменная | заполняется ботом сама | одно | табличка с номером квартиры — уже готова |