Переменные
Переменные [[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 |
Если имени нет или оно пустое, запись остаётся как есть.
Обновлено
Условия, циклы и ошибки
Управление ходом сценария в Конструкторе модулей Multogram: IF с ветками THEN и ELSE, циклы WHILE, FOR и FOREACH, Break и Continue, Try-Catch и переменная [[_error]], задержка, завершение потока. Как писать условия.
Функции
Функции в Конструкторе модулей Multogram: главная функция Main, свои функции с параметрами и возвращаемым значением, вызов через «Вызвать функцию», папки и менеджер функций.