Перейти к содержимому
Документация
Конструктор модулей

Переменные

Переменные [[name]] в Конструкторе модулей Multogram: откуда берутся, типы значений, поля объектов и элементы массивов, локальные и глобальные переменные в многопоточном модуле, просмотр в инспекторе.

Переменная — именованное значение, которое одно действие записывает, а другие читают. Так данные передаются между действиями: ответ Telegram, взятый аккаунт, счётчик.

Откуда берутся переменные

  • Результат действия. У многих действий есть переменная результата — Output Variable на карточке. Send Message кладёт итог в [[sendResult]], Получить значение ресурса — в [[resourceValue]]. Имя можно поменять в окне действия.
  • Установить переменную — записывает значение, которое вы укажете, с выбранным типом.
  • Параметры функции — внутри вызванной функции они доступны как переменные с теми же именами.

Имя переменной начинается с буквы или _ и состоит из латинских букв, цифр и _.

Как использовать

В любом поле действия напишите имя в двойных квадратных скобках:

Аккаунт [[account]].phone отправил сообщение в {{chat}}
ЗаписьЧто получится
[[user]]Значение целиком
[[user]].profile.idПоле объекта
[[items]][0]Первый элемент массива
[[user]].tags[2]Элемент массива внутри объекта

Путь — за скобками

Пишите [[account]].session_path. Запись [[account.session_path]] не сработает: в скобках — только имя переменной.

Типы значений

ТипПример
string — текстПривет
number — число42, 3.14
boolean — да или нетtrue, false
object — объект или массив (JSON){"name": "Иван"}, ["a", "b"]

Если поле содержит только [[name]], действие получает значение с его типом: число, объект, массив. Если переменная стоит внутри текста, она превращается в текст: count=[[n]] → count=5.

Локальные и глобальные переменные

Модуль работает в нескольких потоках одновременно.

ЛокальнаяГлобальная
СоздаётсяУстановить переменную, результат действияУстановить глобальную переменную
ВиднаТолько в своём потокеВсем потокам модуля
Для чегоДанные одного аккаунта: сессия, ответ, цельОбщие счётчики и флаги

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

Переменные в инспекторе

Инспектор → Переменные показывает все переменные с типом и значением после теста. Значение можно изменить прямо там и проверить ветку сценария с другими данными.

Ссылка через другое имя

Иногда имя переменной или ресурса хранится в другом значении:

ЗаписьЧто делает
{{(varName)}}Ресурс, имя которого лежит в переменной varName
[[(resName)]]Переменная, имя которой лежит в ресурсе resName

Если имени нет или оно пустое, запись остаётся как есть.

Обновлено

Файлы cookieПолитика конфиденциальности

Необходимые cookie обеспечивают работу сайта. С вашего согласия — также аналитические, чтобы улучшать сайт, и маркетинговые, чтобы учесть, кто вас пригласил. Выбор можно изменить в любой момент.