QNext. Шаблоны макросов

QNext. Шаблоны макросов

QNext. Macros. Template


Что такое шаблоны макросов?

Шаблоны макросов нужны для упрощения записи часто используемых макросов. Допустим вам необходимо в разных местах вашего бота, использовать макрос, который показывает tg-ссылку на пользователя. Как вы знаете такая ссылка имеет вид: tg://user?id=123456789. Чтобы записать такую ссылку с помощью макроса надо использовать следующую конструкцию:

!{html| type: link; name: Имя; url: tg://user?id=123456789; }

Как видите макрос получился не самый простой. Вспоминать его каждый раз утомительно. Шаблоны макросов призваны исправить эту ситуацию.


Как создать шаблон макроса?

Для упрощение создания такого макроса, можно создать шаблон макросов. Откройте в главном меню /main раздел

⚙️Настройки бота -> 📚Библиотека -> 📸Шаблоны макросов

Нажмите Создать шаблон, напишите короткое имя шаблона tg, а на следующем шаге укажите шаблон:

!{html|
  type: link;
  text: %(name);
  url: tg://user?id=%(id)
}

Теперь создайте реакцию ⚡️sendMessage, и укажите в тексте следующий макрос:

!{tg| name: Имя; id: 12345678}

, и вы получите в тексте tg-ссылку на пользователя. Согласитесь такая запись макроса выглядит куда приятнее.


Как это работает?

Макрос !{tg} был заменен на макросом !{html}, прописанный в шаблоне, а также в макрос !{html} были подставлены параметры из исходного макроса !{tg}, в нашем случае это переменные %(name) и %(id). Эти переменные(name и id) а данном случае называются Локальными переменными шаблона макроса.

Помимо локальных переменных, в шаблоне макроса можно также использоваться и глобальные переменные шаблона. Записываются глобальные переменные шаблона с помощью конструкции: $(localVar.key).


Локальные и глобальные переменные шаблона

  • %(name) - локальная переменная шаблона
  • $(localVar.name) - глобальная переменная шаблона

Значение локальной переменной берется из набора параметров исходного макроса, в примере выше это параметры внутри макроса:

!{tg| Здесь значения локальных переменных}

Значение же глобальной переменной берется из глобального контекста, это по сути обычные переменные, которые в реакциях у нас вызываются с помощью конструкции ${localVar.name}.


Как с этим жить?

Да прибудет с вами сила.


⬅️QNext. Макросы


Report Page