Четыре вида хранилищ в BotMan — чтобы не путаться

В BotMan есть четыре способа хранить данные, и путаница между ними — самое частое, с чем сталкиваются новички. Разберём на аналогии с жилым домом.

В BotMan есть четыре способа хранить данные, и путаница между ними — самое частое, с чем сталкиваются новички. Разберём на аналогии с жилым домом.

1️⃣ Пользовательское поле — Ваша личная тумбочка в своей квартире

Одно значение, и оно своё у каждого пользователя. У Анны в тумбочке лежит «10» (её бюджет), у Петра — «100» (его бюджет). Тумбочки разные, значения разные, друг на друга не влияют.

2️⃣ Пользовательский массив — Ваш личный шкаф с несколькими полками, тоже в своей квартире

То же самое, только вместо одной вещи хранится сразу несколько — и это по-прежнему личное, только у этого человека. Корзина Анны — это её корзина, у Петра своя, отдельная.

3️⃣ Глобальная переменная — один почтовый ящик на весь подъезд

Значение одно, и оно общее для всех. Если кто-то его изменил — увидят все жители подъезда (все подписчики бота). Пример: счётчик «сколько промокодов уже выдано» — он один на весь бот, а не у каждого свой.

4️⃣ Глобальный массив — общий шкаф в подъезде, которым пользуются все

Список значений, общий для всех подписчиков и сценариев сразу. Если бот добавит туда новый город — этот город появится у всех, кто заглянет в шкаф. Пример: список городов, куда возможна доставка — он один на весь магазин, а не у каждого покупателя свой.

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

🧐 А что такое системные переменные

Это отдельная, пятая вещь — но это не то, что создаёте Вы сами. Это готовые подписи на доме, которые уже там есть: номер квартиры, дата постройки и так далее. В BotMan это, например, имя подписчика, сегодняшняя дата, статус подписки. Их не нужно создавать и заполнять — бот сам знает эти данные и просто подставляет их в сообщения.


Таблица для быстрой сверки

Что этоНа кого рассчитаноОдно значение или списокПростыми словами
Пользовательское полеу каждого своёодноВаша личная тумбочка
Пользовательский массиву каждого своёсписокВаш личный шкаф с полками
Глобальная переменнаяодно на всеходнообщий почтовый ящик в подъезде
Глобальный массиводно на всехсписокобщий шкаф в подъезде
Системная переменнаязаполняется ботом самаоднотабличка с номером квартиры — уже готова

Главное, что стоит запомнить

  • «Пользовательское» — значит своё у каждого человека.
  • «Глобальное» — значит одно на всех, будьте аккуратны с личными данными.
  • «Поле» / «переменная» — хранится одно значение.
  • «Массив» — хранится список значений.
  • Системные переменные создавать не нужно — бот сам их знает и подставляет готовыми
👆 На этом пока всё