GetVarCloud
GetVarCloud — загружает значение облачной переменной в текущий контекст выполнения.
📝 Назначение
После выполнения этой реакции значение переменной становится доступным по пути ${var.тип.название}.
💡 Совет: Для загрузки одной переменной удобнее использовать макрос
!{varcloud}.GetVarCloudнужен, когда:
- Нужно загрузить несколько переменных сразу
- Переменная используется в условиях (if, TriggerFolder, ограничения)
- Требуется выполнить действия после загрузки (например, проверить значение и отреагировать)
- Нужно загрузить переменную другого пользователя или чата
⚙️ Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| Тип переменной | Выбор | ✅ Да | person, member, chat, global, dynamic |
| Название | Строка | ✅ Да | Имя переменной для загрузки (максимум 64 символа) |
| ID пользователя | Integer | ❌ Нет | Для типа person. По умолчанию — текущий пользователь |
| ID чата | Integer | ❌ Нет | Для типов member и chat. По умолчанию — текущий чат |
📍 Результат
После выполнения реакции значение становится доступно в переменной:
${var.тип.название}
Примеры:
${var.person.balance} # Баланс текущего пользователя
${var.member.warns} # Предупреждения в текущем чате
${var.chat.welcome_id} # ID приветствия текущей группы
${var.global.counter} # Глобальный счётчик
${var.person.${var_name}} # Динамическое имя переменной (если имя хранится в другой переменной)
📍 Подсказка: Точный путь к переменной можно посмотреть в логах после выполнения
GetVarCloud(разделvar).
🧪 Примеры
Пример 1: Загрузка баланса пользователя
Задача: Перед отправкой сообщения о балансе загрузить его значение.
Реакции:
GetVarCloud→ Тип:person, Название:balanceSendMessage→ Текст:Ваш баланс: ${var.person.balance} ₽
Пример 2: Загрузка нескольких переменных
Задача: Загрузить имя, возраст и город пользователя для персонализированного сообщения.
Реакции:
GetVarCloud→ Тип:person, Название:nameGetVarCloud→ Тип:person, Название:ageGetVarCloud→ Тип:person, Название:citySendMessage→ Текст:${var.person.name}, ${var.person.age} лет, город ${var.person.city}
Пример 3: Использование в условии (проверка подписки)
Задача: Показать разное меню в зависимости от статуса подписки.
Реакции:
GetVarCloud→ Тип:person, Название:is_premiumTriggerFolderс условием:Bool→${var.person.is_premium}=true
- Внутри:
ShowMenu→ Премиум-меню
TriggerFolderс условием:NOT+Bool→${var.person.is_premium}=true
- Внутри:
ShowMenu→ Обычное меню
Пример 4: Загрузка переменной другого пользователя
Задача: Администратор проверяет баланс другого пользователя.
Реакции:
GetVarCloud→ Тип:person, Название:balance, ID пользователя:${target_user.id}SendMessage→ Текст:Баланс пользователя: ${var.person.balance} ₽
Пример 5: Загрузка переменной чата
Задача: Проверить, включён ли в группе режим «тихий час».
Реакции:
GetVarCloud→ Тип:chat, Название:quiet_modeTriggerFolderс условием:Bool→${var.chat.quiet_mode}=true
- Внутри:
SendMessage→Сейчас режим "тихий час", сообщения ограничены
Пример 6: Проверка существования переменной
Задача: Если переменная не существует — установить значение по умолчанию.
Реакции:
GetVarCloud→ Тип:person, Название:scoreTriggerFolderс условием:Has→${var.person.score}
- (условие
false— переменной нет) - Внутри:
SetVarCloud→ Тип:person, Название:score, Значение:0
⚖️ Сравнение: GetVarCloud vs макрос !{varcloud}
| Характеристика | GetVarCloud | !{varcloud} |
|---|---|---|
| Способ вызова | Реакция в триггере | Встраивается в текст |
| Загрузка в контекст | ✅ Да (через ${var...}) |
❌ Нет (подстановка на лету) |
| Использование в условиях | ✅ Да | ❌ Нет (только в тексте) |
| Загрузка нескольких переменных | ✅ Да (несколько реакций) | ❌ Нет (только одна за раз) |
| Загрузка переменной другого пользователя | ✅ Да (указать user_id) |
❌ Нет (только текущий) |
| Производительность | Медленнее (отдельный вызов) | Быстрее (прямая подстановка) |
Рекомендация по выбору:
| Сценарий | Использовать |
|---|---|
| Одна переменная в тексте сообщения | !{varcloud} |
| Переменная в условии (if, TriggerFolder) | GetVarCloud |
| Несколько переменных в одном триггере | GetVarCloud |
| Переменная другого пользователя | GetVarCloud |
| Сложная логика после загрузки | GetVarCloud |
🔗 Связанные реакции
- SetVarCloud — создать/изменить переменную
- AddVarCloud — добавить к переменной
- DelVarCloud — удалить переменную
- DelVarLocal — удалить локальную переменную
🔗 Связанные разделы
- Облачные переменные — общая информация
- Макрос varcloud — быстрый доступ без GetVarCloud
- Условие Has — проверка существования переменной
- Условие VarCloudValue — проверка значений переменных
- Логи — просмотр контекста
${var...}