Примеры плагинов
Полное имя библиотеки «клеится» из трех составляющих:
- Общий плагин (Common);
- Название плагина «Bot»;
- Скрипт «Commands».
Подключается такая библиотеки с помощью кода
require('Common.Bot.Commands');
После подключения, в JavaScript автоматически будет доступна переменная CommonBotCommands
К методам CommonBotCommands можно обращаться, например, для отправки сообщения в мессенджер из JavaScript:
CommonBotCommands.SendText('Текст отправленный из V8');
Полный список команд каждой библиотеки выходит за рамки данной документации и может постоянно дополняться, для этого смотрите отдельную документацию.
В данном примере речь идет именно об общей библиотеке (Common), внутри которой уже описан специальный объект, который можно использовать с помощью методов, чтобы добиться такого же варианта использования вы должны самостоятельно описать свой объект на JavaScript. Оформление в виде JavaScript объекта при создании вашего собственного плагина бизнеса не является обязательным, за счет того что ваши скрипты будут подключаться в виде сниппетов.
Вы можете просто описать любые переменные и функции в вашей библиотеке и обращаться к ним по имени
ДЛЯ БИБЛИОТЕК УРОВНЯ БИЗНЕСА автоматически создаваемые переменные-объекты не доступны (или доступны только в тех библиотеках, которые для вас создаст команда Метабот).
Отметим, что существуют другие библиотеки, например, такие как moment.js. Подключение и использование таких библиотек отличается от использования библиотек созданных на платформе.
Например, для moment.js, не нужно указывать три «составляющие» названия скрипта (уровень доступа, плагин и скрипт).
Для moment.js мы явно объявляем переменную и «экспортируем в нее библиотеку»
let moment = require('moment');
Подключение различных библиотек может отличаться и зависит от реализации самой библиотеки. Но, в основном как подключать и будет ли доступна автоматически переменная-объект понятно из названия библиотеки (если при подключении нет указания уровня доступа, то скорее всего это OpenSource библиотека).
Если вы подключаете к одному скрипту несколько сниппетов, то переменные объявленные внутри каждого из сниппетов не должны пересекаться между собой по имени, а также переменные объявленные в сниппете и вашем скрипте, к которому вы подключаете сниппет не должны пересекаться.
В разделе Плагины Бизнеса создадим новый плагин для формирования текста, который мы будет отправлять пользователю с помощью атрибутов бота.

Заполним поля формы, пример показан ниже на рисунке, далее сохраним форму.

Далее, перейдем в скрипты плагина.

Создадим новый скрипт

Заполните поля формы, пример приведен ниже на рисунке. Укажите в исходн ом коде скрипта:
const greetMsg = 'Привет, ' + lead.getData('name') + '!';
memory.setAttr("greet", greetMsg);
Здесь мы сохраняем текст приветствия в memory (временном атрибуте бота).

Полное имя библиотеки «клеится» из трех составляющих:
- Плагин бизнеса (Business);
- Название плагина «Notifications»;
- Скрипт «HelloLead».
Подключается с помощью кода
snippet('Business.Notifications.HelloLead');

Для проверки работы плагина, в скрипт бота необходимо добавить две команды:
- Выполнить JavaScript, с следующим содержимым:
snippet('Business.Notifications.HelloLead');
Здесь мы подключаем сн иппет, для заполнения атрибута (макропеременной) во временной памяти бота.
- Отправить текст, c следующим содержимым:
{{ &$greet }}
В содержимом использована макропеременная, текст который будет отправлен в мессенджер.

Результат работы скрипта в телеграм:

Модифицируем пример 2 так, чтобы текст отправлялся не с помощью команды Отправить текст, а прям из JS кода плагина.

В исходном коде скрипта укажем:
require('Common.Bot.Commands');
const greetMsg = 'Привет, ' + lead.getData('name') + '!';
CommonBotCommands.sendText(greetMsg);

Удалим команду Отправить текст, команду Выполнить JavaScript оставляем без изменений.

В скрипте должна остаться одна команда.

Результат работы данного скрипта будет идентичным примеру 2:

Last modified 8mo ago