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

Свой код

Модуль «Выполнение кода» в Конструкторе модулей Multogram: встроенный JavaScript, Python, Node.js, CMD, Bash и PowerShell. Как подставляются переменные и ресурсы, как вернуть результат, пакеты.

Если готового действия не хватает, напишите фрагмент кода — модуль Выполнение кода выполнит его прямо в сценарии.

Языки

ДействиеЯзыкКогда выбирать
Выполнить JavaScript (ECMA)Встроенный JavaScriptВычисления и обработка данных. Ничего ставить не нужно; нет require, модулей Node.js и асинхронности
Выполнить PythonPythonБиблиотеки Python, сложная обработка
Выполнить Node.jsNode.jsПакеты npm, привычный JavaScript
Выполнить CMD, Выполнить PowerShell, Выполнить BashКомандные оболочкиСистемные команды и скрипты

Пакеты ставятся действиями Установить пакет Python и Установить пакет Node.js и удаляются парными действиями. Python и Node.js должны быть установлены на компьютере пользователя модуля; встроенному JavaScript ничего не нужно — для модулей, которые вы раздаёте, выбирайте его.

Переменные и ресурсы в коде

Перед запуском [[переменные]] и {{ресурсы}} подставляются в код с учётом места:

Где стоит ссылкаЧто подставитсяПример
В кодеЗначение своего типа: текст в кавычках, число, объектvar n = [[count]]; → var n = 5;
Внутри строки в кавычкахПросто текст, без лишних кавычекprint("phone=[[phone]]") → print("phone=79000000000")

Пишите [[x]] прямо в коде, чтобы получить значение; берите в кавычки, только если нужен именно текст. В комментариях ссылки не подставляются.

Опечатка в имени не вызовет ошибку

Несуществующая переменная превращается в null (в Python — None), а выполнение продолжается. Если результат странный, сначала проверьте имена.

Как вернуть результат

  • Вывод программы (print(...), console.log(...)) попадает в переменную результата действия.
  • Присваивание [[имя]] = значение прямо в коде создаёт или меняет переменную сценария — объекты и массивы сохраняются как есть. Работает в Python, Node.js и встроенном JavaScript.
Выполнить JavaScript (ECMA)
var digits = ('' + [[phoneInput]]).replace(/[^0-9]/g, '');
[[phone]] = { ok: digits !== '', value: digits };
print(digits ? '+' + digits : 'EMPTY');

После этого действия в сценарии есть объект [[phone]] с полями ok и value, а в переменной результата — напечатанная строка.

Когда код не нужен

Многое уже есть готовыми действиями: строки, JSON, регулярные выражения, математика, дата и время — см. Модули и действия. Готовые действия проще читать и проверять, код оставьте для того, что ими не выразить.

Обновлено

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

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