Блок «Код»
С помощью блока «Код» вы можете добавить в процесс фрагмент JavaScript-кода. Это универсальный блок для вычислений, логики и работы с данными, контекстом и переменными.
Используйте блок «Код» для кода, который будете выполнять один раз, а пользовательские функции — для кода, который будете переиспользовать.
Как добавить блок «Код» на холст
- Перейдите в проект и на левой панели нажмите , чтобы открыть конструктор процессов.
- В верхнем левом углу холста нажмите — откроется список блоков.
- Из раздела Код и логика перетащите блок Код на холст.
Интерфейс редактора кода
Чтобы настроить блок, нажмите на него на холсте. В этом блоке доступны следующие элементы:
-
Редактор кода с подсветкой синтаксиса и автокомплитом.
-
Библиотека функций . Панель быстрого поиска встроенных и пользовательских функций проекта. Двойной клик — вставка вызова функции в код.
-
Панель документации. Отображает подсказки и описание выбранной функции: имя, тип, описание. Автоматически появляется в правой части окна при нажатии на любую функцию из библиотеки.
Пример использования
Для примера создадим блок, который считает количество слов в сообщении.
- Перейдите в проект и на левой панели нажмите , чтобы открыть конструктор процессов.
- В верхнем левом углу холста нажмите — откроется список блоков.
- Перетащите блок Триггеры → Сообщение на холст.
- Перетащите блок Код и логика → Код на холст и соедините его с блоком Сообщение.
- Нажмите на блок Код.
- Вставьте в него следующий код, в котором используются встроенные функции Context и Reactions:
// Получаем объект с сообщением
const content = await Context.getMessageContent();
// Проверяем, есть ли вообще текст
if (!content || typeof content.text !== 'string') {
Reactions.sendText("Я не вижу сообщения");
return;
}
// Извлекаем текст и убираем лишние пробелы
const message = content.text.trim();
// Разбиваем сообщение по пробелам и фильтруем пустые элементы
const words = message.split(/\s+/).filter(Boolean);
// Считаем количество слов
const count = words.length;
// Отправляем простой ответ
Reactions.sendText(`В твоём сообщении ${count} ${count === 1 ? "слово" : "слов(а)"}`); - Нажмите Сохранить.
- В конструкторе нажмите Тестировать. Откроется окно чата, и вы сможете проверить работу вашего кода.
Рекомендации
- Используйте явные имена переменных, чтобы вам сразу было понятно, что она делает. Например, если вы сохраняете в нее текст сообщения, то назовите ее
message. - Старайтесь не делать слишком большой и сложный код — лучше разбить на несколько функций и блоков.