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