EnotPRO Logo EnotPRO

SetVarCloud

SetVarCloud — создаёт или полностью заменяет значение облачной переменной.

📝 Назначение

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

🔴 Важно: Если переменная уже существует, её значение будет полностью заменено. Для добавления данных (прибавления к числу, добавления элемента в массив) используйте AddVarCloud.

⚙️ Параметры

Параметр Тип Обязательный Описание
Тип переменной Выбор ✅ Да person, member, chat, global, dynamic
Название Строка ✅ Да Имя переменной (только латиница, цифры, нижнее подчеркивание). Максимум 64 символа
Значение Разный ✅ Да Текст, число, дробное число, true/false, JSON-объект или массив
ID пользователя Integer ❌ Нет Для типа person. По умолчанию — текущий пользователь
ID чата Integer ❌ Нет Для типов member и chat. По умолчанию — текущий чат

📊 Поддерживаемые типы значений

Тип значения Пример Результат в переменной
Строка Москва Тип string
Целое число 42 Тип number
Дробное число 10.5 Тип float
Логическое true Тип bool
JSON-объект {"city": "Msk", "age": 25} Тип json
Массив ["a", "b", "c"] Тип json (массив)

🧪 Примеры

Пример 1: Сохранить имя пользователя

Где: В обработчике команды /start

Параметры SetVarCloud:

  • Тип: person
  • Название: saved_name
  • Значение: ${user.name}

Результат: В переменной ${var.person.saved_name} будет имя пользователя.

Пример 2: Сохранить числовое значение (баланс)

Где: После успешного пополнения счёта

Параметры SetVarCloud:

  • Тип: person
  • Название: balance
  • Значение: 1000

Результат: Переменная balance установлена в 1000. Старое значение (если было) утеряно.

Пример 3: Сохранить JSON-объект

Где: После заполнения формы заказа

Параметры SetVarCloud:

  • Тип: person
  • Название: order
  • Значение: {"id": 123, "sum": 1500, "items": ["товар1", "товар2"]}

Результат: Доступ к полям:

  • ${var.person.order.id}123
  • ${var.person.order.sum}1500
  • ${var.person.order.items.0}"товар1"

Пример 4: Сохранить значение для другого пользователя

Где: Администратор начисляет бонус пользователю с ID 987654321

Параметры SetVarCloud:

  • Тип: person
  • Название: bonus
  • Значение: 500
  • ID пользователя: 987654321

Результат: У пользователя 987654321 появилась переменная bonus со значением 500.

Пример 5: Сохранить значение в чате (групповая переменная)

Где: В группе установлен режим «тихий час»

Параметры SetVarCloud:

  • Тип: chat
  • Название: quiet_mode
  • Значение: true

Результат: Любой участник группы может проверить: !{varcloud|type: chat; name: quiet_mode}true

🔄 Разница между SetVarCloud и AddVarCloud

Операция SetVarCloud AddVarCloud
Число 105 ✅ Будет 5 ❌ Будет 15 (прибавит)
Строка "A""B" ✅ Будет "B" ❌ Будет "AB" (добавит в конец)
Массив [1,2][3,4] ✅ Будет [3,4] ❌ Будет [1,2,3,4] (добавит элементы)
Объект {"a":1}{"b":2} ✅ Будет {"b":2} ❌ Будет {"a":1, "b":2} (объединит)

💡 Совет: Используйте SetVarCloud для установки начального значения или полной замены. Используйте AddVarCloud для накопления (счётчики, списки).

🔗 Связанные реакции

  • GetVarCloud — загрузить значение переменной
  • AddVarCloud — изменить значение без полной замены
  • DelVarCloud — удалить переменную
  • Макрос varcloud — быстрый доступ без GetVarCloud

🔗 Связанные разделы

© 2025 EnotPRO. Все права защищены.