User Tools

Site Tools


plugins

Плагины Psi+

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

Также подробно рассмотрены вопросы описания, настройки и работы с плагинами Psi+.

Изменения в системе плагинов Psi

  • Изменён дизайн окна настроек плагинов (автор - Dealer_WeARE)
  • Добавлено отображение версии плагина в окне настроек плагинов (автор - VampiRUS)
  • Добавлена возможность подключать, отключать и обновлять плагины без перезагрузки приложения (автор - Dealer_WeARE)
  • Добавлена возможность читать/писать настройки из плагина (автор - C.H.)
  • Добавлена возможность назначать горячие клавиши из плагина
  • Добавлена возможность передавать и получать иконки (авторы - VampiRUS, Dealer_WeARE)
  • Реализован доступ к параметрам активной вкладки (автор - VampiRUS)
  • Реализован доступ к различной информации о приложении
  • Реализован доступ к информации об аккаунте (автор - Dealer_WeARE)
  • Добавлена возможность вызывать попапы из плагинов (автор - Dealer_WeARE)
  • Добавлена возможность изменения событий из плагина (метод processEvent – в Juick Plugin, в Gmail Service Plugin), автор - VampiRUS
  • Добавлена возможность отображения кнопки вызова метода плагина на тулбар (ToolbarIconAccessor, GCToolbarIconAccessor, пример использования – Image Plugin), автор - VampiRUS
  • Добавлена возможность отображения кнопки вызова метода плагина из меню заголовка аккаунта и из меню контакта в ростере (автор - Dealer_WeARE)
  • Добавлена возможность установки и настройки настроения, активности и мелодии для указанного контакта (необходимо для работы Qip X-statuses Plugin), автор - Dealer_WeARE
  • Добавлена кнопка в опции плагинов, при нажатии на которую показывается информация о плагине (автор - Dealer_WeARE)
  • Добавлена возможность изменять статус для аккаунта (автор - Dealer_WeARE)

Пример компиляции плагина для Psi+

Пример компиляции плагина рассмотрим на примере Conference Logger Plugin:

  • Скачиваем исходный код Psi из git-репозитория (https://github.com/psi-im/psi.git)
  • Скачиваем исходные коды плагинов из git-репозитория (https://github.com/psi-im/plugins.git)
  • Переходим в каталог plugins/generic/conferenceloggerplugin
  • Выполняем команды:

mkdir -p build && cd build

cmake ..

cmake –build .

  • Видим результат компиляции в каталоге plugins/generic/conferenceloggerplugin/build

См. также пример автоматической компиляции плагинов Psi+: здесь.

Плагины от команды Psi+

Attention Plugin

Автор: Dealer_WeARE

Всплывающее окно с оповещением

Окно с настройками плагина

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

Для работы необходимо, чтобы клиент собеседника поддерживал XEP-0224 (например: Pidgin, Miranda IM с плагином Nudge).

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Autoreply Plugin

Автор: Dealer_WeARE

Окно с настройками плагина

Данный плагин выполняет роль автоответчика. Имеет ряд несложных настроек, с помощью которых можно:

  • задать текст сообщения для автоответа
  • исключить определённые jid'ы, включая конференции, из объектов для автоответа (если задан jid конференции, то в исключения попадают все приватные сообщения)
  • отключить автоответчик для некоторых ваших аккаунтов
  • задать количество посылок автоответа
  • задать интервал времени, по истечении которого счётчик количества автоответов будет обнулён
  • отключить автоответчик для активной вкладки/таба
  • отключить автоответчик для контактов не из вашего ростера

Список исключений для jid'ов имеет два режима работы:

  • автоответчик выключен для списка исключений, для остальных – включён (Disable mode)
  • автоответчик включён для списка исключений, для остальных – выключен (Enable mode)

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Birthday Reminder Plugin

Автор: Dealer_WeARE

Данный плагин предназначен для напоминаний о приближающихся днях рождения.

Окно с настройками плагина

Если плагин установлен впервые, то необходимо выйти всеми своими аккаунтами в “онлайн”, затем зайти в настройки плагина и нажать кнопку Update Birthdays. В результате будет собрана доступная информация о днях рождения пользователей из всех аккаунтов ростера, а если выбрать соответствующую опцию, то и информация о пользователях, vCard'ы которых находятся в кэше на локальном диске.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Captcha Forms Plugin

Автор: Dealer_WeARE

ДАННЫЙ ПЛАГИН УДАЛЕН ИЗ ТЕКУЩИХ СБОРОК PSI+ ВВИДУ ПЕРЕНОСА ЕГО ФУНКЦИОНАЛА НЕПОСРЕДСТВЕННО В САМУ PSI

Данный плагин предназначен для прохождения капчи непосредственно из Psi+.

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

Форма с капчей

Окно с настройками плагина

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Chess Plugin

Автор: Dealer_WeARE

Данный плагин позволяет играть в шахматы с пользователями из ростера.

Плагин совместим с аналогичным плагином в jabber-клиенте Tkabber.

Для передачи команд используются обычные сообщения, поэтому плагин будет работать везде, где у Вас есть возможность выйти в “онлайн”.

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

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Cleaner Plugin

Автор: Dealer_WeARE

Данный плагин предназначен для очистки кэша аватар, сохранённых локальных копий vCard, а также логов истории переписки.

Имеется возможность предварительного просмотра элементов перед их удалением с локального диска.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Client Switcher Plugin

Автор: liuch

Данный плагин предназначен для подмены версии XMPP-клиента, его названия и типа операционной системы. Имеется возможность вручную указать версию клиента и операционной системы или выбрать их из заданного списка.

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

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Conference Logger Plugin

Автор: Dealer_WeARE

Данный плагин предназначен для записи (сохранения) логов конференций, в которых находится пользователь Psi+.

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

Примечание: Для корректной работы опция options.ui.chat.central-toolbar должна быть установлена в положение true.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Content Downloader Plugin

Автор: taurus

Данный плагин предназначен для скачивания из Интернет наборов иконок и прочих дополнительных ресурсов для Psi+.

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

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Extended Menu Plugin

Автор: Dealer_WeARE

Данный плагин добавляет в контекстное меню контакта ростера подменю “Extended Actions”. На данный момент имеются следующие пункты: “Скопировать JID”, “Скопировать ник”, “Скопировать статусное сообщение” и “Ping”.

psiplus_plugins_extendedmenuplugin.png

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Extended Options Plugin

Автор: Dealer_WeARE

Данный плагин предназначен для более удобной настройки дополнительных параметров Psi+.

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

Важно: бОльшая часть настроек имеет системный характер и требует внимания и понимания смысла изменяемых функций.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Gmail Service Plugin

Автор: VampiRUS, Dealer_WeARE

ДАННЫЙ ПЛАГИН УДАЛЕН ИЗ СБОРОК КАК ЗАБРОШЕННЫЙ

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

Примечание: Плагин проверяет корень почтового каталога Inbox в Gmailbox на предмет наличия новых писем. Если фильтрация (пересортировка) писем осуществляется непосредственно на сервере Gmail, то нотификаций о новой почте не будет.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Gomoku Game Plugin

Автор: liuch

Данный плагин позволяет играть с контактами ростера и конференции в игру Гомоку. Реализована разновидность правил “Международное гомоку”.

О правилах и самой игре можно прочитать тут.

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

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

History Keeper Plugin

Автор: Dealer_WeARE

ДАННЫЙ ПЛАГИН УСТАРЕЛ И НЕ УДАЛЯЕТ ИСТОРИЮ ИЗ БАЗЫ ДАННЫХ, В КОТОРОЙ PSI+ ТЕПЕРЬ ХРАНИТ ИСТОРИЮ

Данный плагин предназначен для удаления истории переписки с отмеченными контактами при выходе из Psi+.

Отметить контакт или удалить отметку можно из контекстного меню контакта, либо через окно с настройками плагина.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

ICQ Must Die Plugin

Автор: ivan1986

Данный плагин призван помочь Вам перевести как можно бОльшее количество Ваших контактов с ICQ на XMPP.

Окно с настройками плагина

Плагин имеет ряд несложных настроек, с помощью которых можно:

  • Задать текст сообщения
  • Исключить определённые ICQ номера
  • Задать интервал времени, по истечении которого сообщение будет повторено
  • Отключить сообщения для активного окна/таба
  • Отключить сообщения для контактов не из Вашего ростера

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Image Plugin

Автор: VampiRUS

Данный плагин предназначен для отправки собеседнику графического изображения.

Клиент собеседника должен поддерживать XEP-0071: XHTML-IM и поддерживать схему data:URI.

Примечание: Для корректной работы плагина опция options.ui.chat.central-toolbar должна быть установлена в положение true.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

XMPP Disk Plugin

Автор: Dealer_WeARE

Данный плагин предназначен для комфортной работы с файловыми хранилищами XMPP Disk.

Реализовано через соответствующую команду в контекстном меню контакта ростера.

Работа с файлами представлена в виде графического интерфейса.

Добавлять/удалять/редактировать глобальные настройки плагина можно на вкладке Plugins в настройках приложения.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Juick Plugin

Автор: VampiRUS

Плагин предназначен для эффективной и комфортной работы с сервисом микроблогов Juick.

На данный момент плагин умеет:

  • Раскрашивать @ники, *тэги, #id_сообщений в сообщениях от бота juick@juick.com
  • Распознавать >цитаты в сообщениях
  • Кликабельные @ники, *тэги, #id_сообщений и другие управляющие элементы для подстановки их в строку ввода

Примечание: Для корректной работы плагина опция options.html.chat.render (“Использовать формат текста отправителя”) должна быть установлена в положение true.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

PEP Change Notify Plugin

Автор: Dealer_WeARE

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

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Qip X-statuses Plugin

Автор: Dealer_WeARE

Данный плагин предназначен для отображения х-статусов контактов, использующих в качестве jabber-клиента QIP Infium.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Screenshot Plugin

Авторы: C.H., Dealer_WeARE

Данный плагин позволяет делать снимок (скриншот) экрана, редактировать видимую область на сделанном скриншоте и сохранять снимок на локальный диск или загружать на HTTP/FTP-сервер.

Плагин имеет следующие настройки:

  • Shortcut – горячая клавиша для вызова плагина (по умолчанию, Ctrl+Alt+P)
  • Format – тип графического файла, в котором будет сохранён снимок экрана (по умолчанию, png)
  • File Name – формат имени графического файла (по умолчанию, pic-yyyyMMdd-hhmmss, где yyyyMMdd=ГГГГММДД, hhmmss=ччммсс - текущая дата в формате годмесяцдень-часминутасекунда; например, pic-20100711-135132.png)

Адрес FTP-сервера задаётся в виде ftp://ftp.domain.tld/path1/path2.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Примечание: Для работы со скриншотами также можно использовать отдельное (самостоятельное) приложение qScreenshot. Доступно на различных платформах (в т.ч. и под MS Windows).

Skins Plugin

Автор: Dealer_WeARE

Данный плагин предназначен для создания и использования скинов в Psi+.

Окно со скриншотом скина

Окно с настройками плагина

Скин - это набор пользовательских настроек.

Для того, чтобы применить новый скин для Psi+, можно использовать различные способы:

  • Создать в каталоге PsiData папку skins и расположить в ней предварительно скачанный скин (по умолчанию плагин “смотрит” в папку PsiData).
  • Открыть файл скина из любого места локального диска при помощи команды Open в настройках плагина.

Каждый скин должен лежать в отдельной папке. Рядом с файлом скина можно также положить скриншот скина.

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

  • Применить скин
  • Перезапустить Psi+
  • Применить этот же скин повторно

Такая последовательность действий позволит всем настройкам (иконкам, положению панелей инструментов) примениться правильно и до конца.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Stop Spam Plugin

Автор: Dealer_WeARE

Данный плагин предназначен для блокировки получения в ростер пользователя Psi+ рассылок спама и другой нежелательной информации.

Окно с основными настройками плагина

Функционал плагина основан на принципе “вопрос - ответ”.

С помощью настроек плагина можно:

  • Ввести контрольный вопрос и ответ на него
  • Задать набор правил, определяющих, будет ли срабатывать плагин для данного контакта
  • Задать текст сообщения, посылаемого в случае правильного ответа
  • Включить уведомления при помощи всплывающих окон
  • включить сохранение заблокированных сообщений в истории контакта
  • Задать количество посылок вопроса
  • Задать интервал времени, по истечении которого счетчик количества отправленных вопросов будет обнулён
  • Включить блокировку приватных сообщений в конференциях
  • Выбрать для каких рангов и ролей участников конференции блокировка сообщений будет отключена
  • Включить полную блокировку приватных сообщений для участников конференции, которые не попадают в список исключений и для ролей и рангов которых включена блокировка.

Правила проверяются сверху вниз. Если напротив правила стоит галочка Enabled, то стоп-спам сработает, в противном случае – не сработает.

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

Контрольный вопрос и ответ, а также список правил является общим, как для обычных сообщений, так и для приватных сообщений в конференциях.

Также пользователю, успешно прошедшему тест, придётся заново запрашивать авторизацию. Это стОит отметить в сообщении, отсылаемом в случае правильного ответа на контрольный вопрос.

Плагин ведёт лог заблокированных сообщений, который можно просмотреть командой View log.

Окно с дополнительными настройками плагина

Команда Reset позволяет удалить этот лог и сбросить счётчик заблокированных сообщений.

ВНИМАНИЕ!!! Перед регистрацией на новом транспорте рекомендуется добавить JID транспорта в исключения. Это связано с тем, что после регистрации транспорт запрашивает авторизацию для всех контактов и если его не добавить в исключения, то плагин заблокирует все запросы.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Storage Notes Plugin

Автор: Dealer_WeARE

Данный плагин представляет собой реализацию XEP-0049: Private XML Storage.

Плагин полностью совместим с заметками, сохранёнными из клиента Miranda IM.

Плагин предназначен для хранения заметок на jabber-сервере с возможностью доступа к ним из любого места через клиент Psi+ или Miranda IM.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Translate Plugin

Автор: VampiRUS

Данный плагин позволяет конвертировать выделенный текст в другую языковую раскладку.

Окно с настройками плагина

Исходный код плагина можно взять здесь или здесь.

Video Status Changer Plugin

Авторы: Dealer_WeARE, KukuRuzo

Плагин предназначен для установки заданного статуса во время просмотра видео в указанном видеопроигрывателе.

Связь с проигрывателями осуществляется посредством D-Bus.

Важно: Работа с видеопроигрывателями осуществляется ТОЛЬКО в операционных системах семейства Linux/BSD. В MS Windows реализовано ТОЛЬКО определение полноэкранного режима работы другого приложения на машине пользователя.

  • Для работы с Totem необходимо в самом проигрывателе включить соответствующий плагин (Правка\Модули\Служба D-Bus);
  • Для работы с VLC необходимо в расширенных настройках проигрывателя на вкладке “Интерфейс\Интерфейсы управления” включить опцию “Интерфейс управления D-Bus”;
  • Для работы с Kaffeine необходимо иметь плеер версии (>=1.0), дополнительных настроек не нужно;
  • Для работы с GNOME MPlayer дополнительных настроек не нужно.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Watcher Plugin

Автор: Dealer_WeARE

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

На первой вкладке настраивается список контактов, за статусом которых осуществляется наблюдение. При смене статуса таких контактов будет показываться всплывающее окно, а при смене статуса на “онлайн” - ещё и проигрываться указанный звук.

psiplus_plugins_watcherplugin001.png

На второй вкладке настраивается список элементов, за сообщениями которых ведётся наблюдение.

psiplus_plugins_watcherplugin002.png

Каждый элемент может содержать:

  • Регулярное выражение для проверки на совпадение с JID, от которого приходит сообщение;
  • Список регулярных выражений для проверки на совпадение с текстом входящего сообщения;
  • Путь к звуковому файлу, который будет проигран в случае совпадения;
  • Настройку для воспроизведения звукового файла всегда, даже если глобальные звуки выключены.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Yandex Narod Plugin (Deprecated)

Автор: Dealer_WeARE

ДАННЫЙ ПЛАГИН УДАЛЕН ИЗ ВСЕХ СБОРОК КАК УСТАРЕВШИЙ

Данный плагин является портированной версией соответсвующего плагина для QutIM.

Плагин позволяет передавать файлы с помощью сервиса Яндекс.Диск (через пункт меню контакта).

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

В версиии плагина для Psi+ (по сравнению с оригиналом) добавлена поддержка proxy-серверов, исправлено удаление файлов и некоторые другие исправления и улучшения.

Подробную историю версий можно найти здесь.

Исходный код плагина можно взять здесь или здесь.

Бинарные версии плагинов

Готовые к использованию версии плагинов под MS Windows можно скачать отсюда.

plugins.txt · Last modified: 2024/06/16 12:03 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki