EnotPRO Logo EnotPRO

Исполняемые модули

Исполняемые модули qnext - это такие разделы, которые выполняют какое-либо действие и возвращают результат своей работы. Существует несколько видов исполняемых модулей:

Реакции

Реакция - это основной исполняемый модуль qnext. Реакции это самые различные действия, которые вы можете выполнить ри различных условиях. Например:

  • Отправить сообщение(⚡️sendMessage)
  • Удалить пост (⚡️deleteMessage)
  • Запустить форму (⚡️formStart)

Реакций в qnext очень много, полный список вы сможете найти на странице Реакции.

Ограничения

Если вы хотите чтобы ⚡ реакции выполнялись не всегда или не для всех, вы можете указывать различные условия, при выполнении которых реакция будет выполнена. Делается это с помощью 🚧Ограничений. Про ограничения читайте в документации Ограничения.

Макросы и Переменные

Макросы и Переменные - это такие исполняемые модули, которые выполняются внутри реакций прямо в реакции, и заменяют собой результат своей работы.

Переменные

Переменная - это путь, содержащий параметр, который необходимо отобразить (или получить). Все переменные имеют строгий формат ввода, начинаются с символов ${ и заканчиваются символом }.

Примеры переменных:

  • ${user.name} - отобразит имя пользователя
  • ${user.id} - отобразит ID пользователя
  • ${update.message.text} - отобразит введенный текст
  • ${update.message.message_id} - отобразит ID отправленного сообщения

Например, если вам необходимо в реакции ⚡️sendMessage написать имя пользователя, вам необходимо написать в тексте этой реакции такую Переменную:

Привет, ${user.name}, добро пожаловать!

Запомнить полный список всех переменных невозможно, их слишком много и это не имеет смысла. Поэтому для облегчения поиска нужной переменной, необходимо пользоваться логами, там вы сможете найти любую доступную вам переменную. Подробнее про логи читайте документации Реакция log.

Параметр: default

Параметр |default: text} позволяет отображать текст в том случае, если переменная не создана или не обнаружена. Параметр указывается через разделительную черту |

Пример применения:

  • ${user.id|default: произвольный текст}
  • ${update.message.text|default: произвольный текст}

Важно

Параметр сработает только в том случае, если переменной нет. В случаях, если переменная есть, но значение равно: "" - параметр не сработает, т.к. переменная существует, и содержит параметр, пусть и пустой.

Макросы

Макросы - это небольшие мини программы, формат похож на переменные, но, в отличие от переменных, макросы не просто отображают имеющиеся значения, макросы умеют выполнять какую то работу/преобразование и выдавать результат. Например, чтобы показать текущую дату, вы можете воспользоваться макросом:

!{date}

Подробнее про макросы вы можете прочитать в документации Макросы.

При составлении макроса необходимо соблюдать несколько простых правил:

  • макрос должен начинаться с символов !{ и заканчиваться символом }
  • каждый параметр может содержать только одно значение
  • все параметры должны разделяться точкой с запятой ;.
  • (рекомендация) для удобства чтения, рекомендуется разделять параметры новой строкой:
  параметр: 1;
  параметр: 2;
  параметр: 3;

Параметр: default

Параметр default будет выдавать текст по умолчанию, в случае если результат работы макроса будет отсутствовать (например профиль пуст или макрос обращается к несуществующему параметру).

Пример многострочного макроса

> !{var|
   type: value;
   name: Баллы;
   path: targetUser;
   default: текст по умолчанию
 }
© 2025 EnotPRO. Все права защищены.