Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

В ZennoPoster версии 5.20.0.0 добавлена возможность создавать из шаблонов плагины.

Для чего это может понадобится?

Самое главное применение, когда в Ваших шаблонах имеются часто повторяющиеся моменты (получение SMS, отправка почты, парсинг выдачи поиска). Раньше для этих целей использовались подшаблоны. Однако приходилось запоминать местонахождения проектов, а также для чего используются переменные в нём.

Плагины позволяют настроить интерфейс ввода данных, а также добавить плагин в панель инструментов.

Основные функции

Чтобы получить данные от пользователя, использующего плагин, применяется “Интерфейс бота”. Настраивается аналогично входным настройкам для шаблонов, однако в него добавлены важные элементы.

Возвращаемые значения

Аналогично любому экшену, плагин может в результате работы вернуть какие-то данные.

Это могут быть:

  • Список;

  • Таблица;

  • Переменная;

  • Переменные.

Например, если указать «Переменную», то в конце работы плагина значение из этой переменной передастся в вызывающий плагин шаблон и будет сохранено в указанную в блоке переменную.

...

Маппинг

При настройке плагина можно добавить элемент «Mapper» в котором указывается список или таблица для получения данных из вызывающего шаблона. При использовании плагина в поле “Mapper” указывается список/таблица, данные которой будут доступны в плагине. Все изменения в списке/таблице внутри плагина отразятся в исходном списке/таблице.

...

Установка плагина

Плагин это файл формата *.zpg. Добавить в ProjectMaker его можно двумя путями:

...

Двойным кликом по файлу. В таком случае он сам скопируется в нужную папку и добавится в ProjectMaker;

...

Оглавление:

Expand
titleНажмите здесь, чтобы развернуть оглавление
Table of Contents
exclude^Оглавление:$

Описание

Плагины - это экшены, созданные пользователем.
По сути - это шаблоны с интерфейсом бота (BotUI), сохранённые особым образом. Плагины имеют расширение .zpg, могут возвращать результат своей работы.

Image Added

Каждое поле в которое можно ввести данные поддерживает макросы переменных.


Плагины очень похожи на проект в проекте, но они гораздо удобнее:

  • можно создать удобный интерфейс для передачи в него значений (при работе через проект в проекте необходимо сопоставлять переменные из основного шаблона и вызываемого, из-за этого приходится часто переходить в подшаблон, чтоб вспомнить для чего используется та или иная переменная)

  • устанавливаются один раз и после этого доступны во всех проектах как стандартные экшены (проект в проекте требует каждый раз указывать полный путь к вызываемому шаблону и если случайно или намеренно изменить местоположение подшаблона на компьютере или переименовать его, то все проекты, которые вызывали данный шаблон поломаются)

  • можно продать шаблон с неограниченным количеством плагинов всего за $12 (в то время как при использовании вложенных проектов стоимость шаблона возрастала в зависимости от количества подшаблонов)

Где это можно применить?

В плагин можно упаковать любые повторяющиеся действия:

  • например Вам нужно искать видео на YouTube и сохранять ссылки на них. Для этих целей у Вас уже написана группа экшенов (или даже отдельный шаблон), которые отлично справляются со своей работой. Для того, чтобы добавить этот функционал в другой шаблон, приходится либо подключить проект в проекте, либо копировать экшены и вставлять в нужном месте. На первый взгляд метод копировать-вставить может показаться очень простым и удобным, но представьте, что в Вашем шаблоне есть 6 мест, в которых надо искать видео, Вы шесть раз копируете необходимые экшены. Всё работает, всё хорошо. И тут Вам захотелось внести правки в функционал поиска видео на YouTube, теперь Вам придётся искать все места, куда Вы ранее вставляли эти экшены и вносить правки (а если шаблон не один, а 10-20-33…). С другой стороны можно всё это упаковать в плагин и вызывать его. И, если надо будет внести правки в его работу, то изменить нужно будет только плагин и переустановить его .

  • отправка оповещений в Telegram/ВК/что-то ещё. Пока Вы отправляете только текст, то можно воспользоваться одним кубиком GET или POST запроса. Но потом захочется отправлять форматированный текст, добавлять к нему картинки, аудио файлы и другие вложения. Со временем один экшен разрастётся до большой группы кубиков и в этом случае тоже стоит задуматься об упаковке всех их в плагин.

  • взять случайную строку из указанного текстового файла. Для этого надо создать отдельный список, привязать список к файлу (желательно проверить, что такой файл вообще существует), получить случайную строку из списка - минимум три экшена. Возможно захочется сделать так, чтоб все буквы были в верхнем или, наоборот, нижнем регистре, или обрезать строку до 80 символов. Всё это можно будет упаковать в плагин.

  • Любой шаблон можно сделать плагином. В применении плагинов Вас ограничивает только Ваша фантазия.


Установка плагинов в ProjectMaker

Существует несколько способов установки готовых плагинов:

  1. Самый простой - делаем двойной клик по файлу плагина. Если плагин с таким же именем файла уже был ранее установлен, то появится диалоговое окно с предложением заменить установленный. Если же это первая установка этого плагина, то появится окно сообщающее об успешной установке.

  2. Добавление через настройки. Преимуществом данного метода является то, что можно выделить сразу несколько файлов и установить их все сразу. Если будет попытка добавить плагин имя файла которого совпадает с уже установленным, то появится окно с перечислением плагинов, которые не удалось установить. После добавления плагины сразу же готовы к работе.

  3. Копирование плагинов в локальную директорию на компьютере (по умолчанию это C:\Users\[имя_пользователя]\Documents\ZennoLab\Plugins\Local),

...

Создание плагина

Создание плагина происходит через публикацию (Ctrl+Alt+P) или через пункт в меню проекта, для этого существует вариант «Сохранить как плагин».

...

Здесь важно указать информацию о плагине, добавить иконку, описание и т.п.

...

Использование плагина

Плагин выполняется как обычный экшен, самое главное чтобы он был установлен в папку с плагинами. Каждое поле, в которое можно ввести данные, поддерживает макросы.

Плагин возвращающий значение:

...

Плагин с общим списком:

...

  1. после этого необходимо перезагрузить ProjectMaker.

Удаление плагинов

  1. Через настройки:

    Image Added

  2. Второй способ - удалить файлы из локальной директории на компьютере (в таком случае лучше перезагрузить ProjectMaker).


Как добавить плагины в проект?

Есть несколько способов:


Как работать с плагинами?

Работа с пользовательскими плагинами практически ничем не отличается от работы со стандартными экшенами - добавляете плагин в проект удобным для Вас способом, заполняете входящие настройки (в этих настройках можно использовать переменные проекта)


Сохранение шаблона как плагина?

Способы сохранения

Существует несколько способов сохранение шаблона в виде плагина:

  • в верхнем меню выбираем Файл-Опубликовать проект (либо комбинация горячих клавиш для того же действия Ctrl+Alt+P). Появится окно публикации проекта, в выпадающем списке Что сделать выбираем Сохранить как плагин.

    Image Added
  • в том же верхнем меню выбираем Файл-Сохранить проект как плагин

  • кликаем ПКМ по вкладке нужного проекта в окне с проектами и из контекстно меню выбираем Сохранить проект как плагин

    Image Added

Настройки сохранения

Главное окно и вкладка “Настройки плагина”

Image Added

Если навести курсор мыши на поле ввода или название поля , то появится всплывающая подсказка по данному полю.

Куда сохранять

Выбираем место на компьютере, куда сохранится файл плагина.

При установке плагина в программу этот файл будет скопирован в Директорию установленных плагинов.

Шифровать проект

Эта опция позволяет зашифровать весь файл с проектом. Если включено встраивание внешних библиотек они так же будут зашифрованы.

Note

При продаже плагины не должны быть зашифрованы, т.к. их повторное шифрование невозможно. То есть, вы не сможете перепродать плагин, который купили сами.

Название

Задаём название плагина (с таким именем он будет отображаться в ProjectMaker).

ProjectMaker позволяет сохранять плагины с одинаковыми именами, но, во избежание путаницы, старайтесь задавать каждый раз уникальное имя.

Версия

Устанавливаем необходимую версию плагина.

Иконка

Загружаем иконку для своего плагина.

Поддерживаемые форматы - png, ico, bmp; размеры - от 16х16, до 128х128. Если у плагина будет своя иконка, то его визуально проще будет отыскать среди других экшенов.

Выводить ошибки плагина в лог

Если отмечен данный чекбос и шаблон завершился с необработанной ошибкой то в лог попадёт текст этой ошибки (например - “Не найден HTML элемент по условиям поиска”). В противном случае будет только сообщение “Ошибка при обработке плагина“

Вкладка “Дополнительно”

Image Added

Данную вкладку стоит заполнить, если Вы собираетесь продавать свой плагин, либо просто поделитесь им с другими людьми. На ней вносим свой email для обратной связи, добавляем описание и доп. контакты, а так же ссылку темы плагина на форуме http://zennolab.com (если хотите добавить сам плагин в тему, то можно сначала создать и оформить тему, опубликовать её, затем добавить ссылку на эту тему в плагин и потом отредактировать сообщение в теме добавив сам файл плагина).

Предпросмотр и публикация

Перед сохранением плагина можно нажать кнопку Предпросмотр, чтоб увидеть как будет выглядеть его описание.

Image Added

После клика по кнопке “Выполнить публикацию” начнётся проверка и сборка проекта в плагин. Если в процессе сборки не было ошибок, то появятся две новые кнопки:

  • Открыть папку с плагином

  • Добавить в ProjectMaker

    Image Added


Продажа проектов с плагинами

Подробнее в статье Продажа ботов с плагинами


Входящие настройки плагина

Входящие настройки для плагинов создаются с использованием BotUI. Но при создании настроек для плагинов есть несколько дополнительных возможностей - это Mapper и возвращаемое значение.

Mapper

Данный контрол позволяет передавать из основного шаблона в плагин списки, таблицы или Google таблицы.

Note

Изменения внесённые внутри плагина в передаваемый список\таблицу отразятся и на списке\таблице в основном шаблоне!

Image Added

Чтоб добавить Mapper в Редакторе интерфейса бота прокручиваем ползунок на Панели инструментов в самый низ перетягиваем с него контрол на основное окно. Кликаем по вновь добавленном контролу и настраиваем его (настройки находятся справа):

  1. DataType - тип передаваемого объекта. Возможные значения:

    1. List (список)

    2. Table (простая таблица)

    3. GoogleSpreadsheet (Google таблица)

  2. BindingElement - внутренний объект (список или таблица) в который будут попадать данные из внешнего шаблона (данный объект должен существовать на момент создания настроек).

Теперь мы можем с лёгкостью передать список в плагин:

Image Added

Возвращаемое значение

Плагин может возвращать результат своей работы. Для того, чтобы включить эту возможность необходимо в Редакторе интерфейса бота, в основном окне, куда добавляются все контролы, кликнуть в любом пустом месте и справа отметить чекбокс Возвращать значение (Plugin Mode):

Image Added

Существует несколько типов возвращаемых значений:

  1. Переменная

  2. Список

  3. Таблица

  4. Переменные (дополнительно можно указать описание для каждой переменной, чтоб человеку, который будет пользоваться плагином было проще сориентироваться)

Вид настроек при СОЗДАНИИ плагина (возврат нескольких переменных)

Image Added

Вид настроек при ВЫЗОВЕ плагина (возврат нескольких переменных)

Image Added

При выборе любого типа возвращаемого значение с ним надо будет сопоставить внутренний объект, в котором это возвращаемое значение будет храниться.


Пример пользовательских плагинов с форума ZennoLab

Note

Не запускайте плагины полученные из ненадёжных источников - они могут нанести вред Вашему компьютеру!

С открытым исходным кодом:

С закрытым кодом:


Полезные ссылки