Перейти к основному содержимому

Блок «Код»

С помощью блока «Код» вы можете добавить в процесс фрагмент JavaScript-кода. Это универсальный блок для вычислений, логики и работы с данными, контекстом и переменными.

Отличие от пользовательских функций

Используйте блок «Код» для кода, который будете выполнять один раз, а пользовательские функции — для кода, который будете переиспользовать.

Как добавить блок «Код» на холст

  1. Перейдите в проект и на левой панели нажмите , чтобы открыть конструктор процессов.
  2. В верхнем левом углу холста нажмите  — откроется список блоков.
  3. Из раздела Код и логика перетащите блок Код на холст.

Интерфейс редактора кода

Чтобы настроить блок, нажмите на него на холсте. В этом блоке доступны следующие элементы:

  • Редактор кода с подсветкой синтаксиса и автокомплитом.

  • Библиотека функций . Панель быстрого поиска встроенных и пользовательских функций проекта. Двойной клик — вставка вызова функции в код.

  • Панель документации. Отображает подсказки и описание выбранной функции: имя, тип, описание. Автоматически появляется в правой части окна при нажатии на любую функцию из библиотеки.

Пример использования

Для примера создадим блок, который считает количество слов в сообщении.

  1. Перейдите в проект и на левой панели нажмите , чтобы открыть конструктор процессов.
  2. В верхнем левом углу холста нажмите  — откроется список блоков.
  3. Перетащите блок ТриггерыСообщение на холст.
  4. Перетащите блок Код и логикаКод на холст и соедините его с блоком Сообщение. Сообщение и Код
  5. Нажмите на блок Код.
  6. Вставьте в него следующий код, в котором используются встроенные функции 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 ? "слово" : "слов(а)"}`);
  7. Нажмите Сохранить.
  8. В конструкторе нажмите Тестировать. Откроется окно чата, и вы сможете проверить работу вашего кода.

Рекомендации

  • Используйте явные имена переменных, чтобы вам сразу было понятно, что она делает. Например, если вы сохраняете в нее текст сообщения, то назовите ее message.
  • Старайтесь не делать слишком большой и сложный код — лучше разбить на несколько функций и блоков.