QIP Home QIP Forum

Go Back   QIP Forum > Все для QIP 2012 > QIP 2012. Всё о разработке модулей и сторонних утилит.

QIP 2012. Всё о разработке модулей и сторонних утилит. QIP 2012 SDK. Раздел для разработчиков. НЕ для заказов. Все просьбы в раздел "Поболтать".

Closed Thread
 
Thread Tools Display Modes
Old 21.07.2007, 18:26   #1
INF
QIP Developer
 
Join Date: 05/2005
Posts: 877
Exclamation QIP 2012 Plugin SDK - первое, что нужно прочесть разработчику!!!

Вопрос написания дополнительных модулей (плагинов) к QIP Infium поднимался сторонними разработчиками довольно-таки часто, и в конечном итоге было решено предоставить пользователям возможность создавать собственные плагины, которые будут полезны всем пользователям. Чтобы избежать хаоса с плагинами, их совместимостью и их дестабилизирующего воздействия на ядро QIP Infium(в случае если код написан некачественно), решено предоставлять SDK конкретно для нужд разработчиков. Т.е., чтобы написать плагин для QIP Infium, разработчику вначале нужно в разделе форума "Всё о разработке модулей" изложить свою идею по созданию конкретного плагина (или же создать тему с голосованием). Если идея интересна всем пользователям, то в очередную версию SDK добавятся необходимые данные для создания этого плагина. В дальнейшем в QIP Infium можно будет устанавливать плагины напрямую из программы, так что самые качественные и лучшие плагины станут доступны огромному количеству пользователей и в этом будет ваша заслуга.

Все созданные плагины постить нужно в разделе "Доступные плагины и утилиты".

Правила, которыx обязан придерживаться разработчик:
1. В целях стабильности ядра программы, разработчикам запрещается использовать сабклассинг и различные хуки для ядра и протоколов.
2. Ограничиваться возможностями SDK, поскольку всё необходимое вам будет предоставлено по вашей просьбе, если ваш плагин необходим.
3. Обязательно выкладывать исходные коды текущей версии плагина с комментариями. Это оправдывает ваши благие цели и поможет остальным разработчикам понять систему плагинов QIP. Ваше творение никто продублировать и выдавать за своё собственное не сможет, потому как вы тоже будете видеть исходные коды других плагинов. При написании кода, желательно придерживаться общепринятого синтаксиса.
4. Не использовать чужой код для написания плагина, если это каким-либо образом нарушает лицензию того кода, который вы повзаимствовали.
5. Все вспомогательные файлы для плагина хранить только в папке плагина. Путь к папке плагина хранится в FPluginInfo.DllPath.
6. Если вам хотелось бы чтобы ваш плагин получил статус официального и стал доступен потом для скачки через интерфейс программы, то указывайте настоящие имя и фамилию латинскими буквами в поле "Автор" в коде плагина.
7. Если вы боитесь, что ваш код может быть украден или в нем есть какие-либо проприетарные части, которые не могут быть раскрыты для всеобщего обозрения, то тут я могу согласиться с тем, что можно попробовать выкладывать с паролем архив с исходным кодом, пароль при этом отправляйте ViolentOr И Sega-Zero (т.е. обоим), они в свою очередь выложут пароль в закрытой части форума, где администрация сможет проверить код. И не забывайте про важное условие, архив должен всегда обновляться вместе с бинарником. Если пароль администрация не получит или версия исходного кода будет старее бинарника, то ваш плагин будет удален с нашего форума. В свою очередь администрация может вам гарантировать сохранность вашего кода.
8. Категорически запрещается создавать платные или плагины со сроком действия, так называемые триальные версии.
9. Вынужденное правило. Если вы, как автор плагина, решили удалить своё творение с нашего форума, после того как оно приобрело своих пользователей, то вы лишаетесь возможности вновь представлять какой-либо плагин на нашем форуме, поскольку вы вводите в заблуждение своих пользователей. Решив удалять свой плагин, хорошенько подумайте, т.к. он не будет так популярен вне нашего проекта и о вашей некогда интересной разработке постепенно забудут, чего бы очень не хотелось. Выставляя свой плагин, на своих домашних страничках, вы не прибавите пользователей своему творению. Просто отложите в сторону амбиции и пожалейте свой труд, не дав ему угаснуть.


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


Заметка: в QIP Infium плагины и протоколы это разные вещи. Протоколы разрабатываются отдельными специалистами и любые просьбы по предоставлению SDK для создания протоколов будут отклонены. Со временем появятся все популярные протоколы.

Last edited by inherited; 13.02.2008 at 12:06.
INF вне форума  
Old 21.07.2007, 18:33   #2
INF
QIP Developer
 
Join Date: 05/2005
Posts: 877
Default

QipPluginSdk 1.0.1

SDK написан на Delphi, но портировать его в C++ может каждый грамотный программист. На это может уйти 20 минут, поскольку SDK небольшой.

Quote:
Немного обновленный вариант, поскольку в u_plugin_info, в функции PluginOptions отсутствовало соглашение о вызовах stdcall. Также infium.exe был перекомпилен и вложен в этот архив.
Текущая версия SDK позволяет реализовать:
1. Проверку правописания.
2. Смену статус картинок (текста статуса и описания). Для winamp-подобных программ.

В архив вложен обновленный для этого QIP Infium. Надо заменить все файлы и протокол InfICQ в том числе. Этот билд только для разработчиков, т.к. он может не работать с протоколом jabber и ximss. На следующей неделе выйдет обновленный билд для всех пользователей и с поддержкой плагинов.
INF вне форума  
Old 03.08.2007, 23:32   #3
INF
QIP Developer
 
Join Date: 05/2005
Posts: 877
Default

QipPluginSdk 1.1.0

Текущая версия SDK позволяет реализовать:
1. Проверку правописания.
2. Смену статус картинок (текста статуса и описания), запрос текущей статус картинки, оповещение о смене статус картинки пользовтаелем. Для winamp-подобных программ.
3. Контроль за включением и отключения звука в программе.
4. Контроль за входящими событиями.
5. Контроль за исходящими текстовыми сообщениями.

В архив вложен обновленный для этого QIP Infium. Надо заменить все файлы и протокол InfICQ в том числе. Этот билд только для разработчиков, т.к. он может не работать с протоколом jabber и ximss. На следующей неделе выйдет обновленный билд для всех пользователей и с поддержкой плагинов.
INF вне форума  
Old 11.08.2007, 22:24   #4
INF
QIP Developer
 
Join Date: 05/2005
Posts: 877
Default

QipPluginSdk 1.2.0

Текущая версия SDK позволяет реализовать:
1. Проверку правописания.
2. Смену статус картинок (текста статуса и описания), запрос текущей статус картинки, оповещение о смене статус картинки пользовтаелем. Для winamp-подобных программ.
3. Контроль за включением и отключения звука в программе.
4. Контроль за входящими событиями.
5. Контроль за исходящими текстовыми сообщениями.
6. Различного рода оповещения при наличии непрочитанных сообщений.

В архив вложен обновленный для этого QIP Infium. Надо заменить все файлы и протокол InfICQ в том числе. Этот билд только для разработчиков, т.к. он может не работать с протоколом jabber и ximss. На следующей неделе точно :) выйдет обновленный билд для всех пользователей и с поддержкой плагинов.
INF вне форума  
Old 13.08.2007, 14:24   #5
INF
QIP Developer
 
Join Date: 05/2005
Posts: 877
Default

QipPluginSdk 1.2.1

Подправлены SDK и пример плагина на delphi, показывается работа с опциями плагина и мелкие недочеты исправлены. infium.exe обновлен также.


Поддержка плагинов (sdk 1.2.1) в QIP Infium появилась начиная с обновления от 13.08.2007.
INF вне форума  
Old 25.12.2007, 16:41   #6
INF
QIP Developer
 
Join Date: 05/2005
Posts: 877
Default

QipPluginSdk 1.3.0

Обновлен SDK и пример плагина на delphi.

Новые возможности SDK:
- проверка версии плагина (описано в примере на delphi);
- возможность добавлять кнопки под аватаром (описано в примере на delphi);
- возможность отправлять/получать спец сообщения в протокол (описано в примере на delphi). На текущий момент пока это реализовано только в протоколе icq;
- некоторые существовавшие возможности обновлены;

В архив вложен обновленный для этого QIP Infium. Желательно не ставить инфиум из сдк поверх старого. Этот билд только для разработчиков, т.к. он может не работать с протоколом mra, jabber и ximss. На этой неделе предполагается выпуск Beta 3, где будет поддержка сдк 1.3.0.
__________________
www.INF.ru
INF вне форума  
Old 24.03.2008, 20:19   #7
INF
QIP Developer
 
Join Date: 05/2005
Posts: 877
Default

QipPluginSdk 1.4.0

(Для работы плагинов на основе этого sdk необходим QIP Infium 9005 RC1 и выше)

Обновлен SDK и пример плагина на delphi.

Новые возможности SDK:
- оповещение об антибосс режиме;
- оповещение о текущем языке интерфейса и его смене;
- возможность использовать строковые ресурсы ядра;
- возможность использовать механизм всплывающих сообщений ядра;
- получение имени профиля и отображаемого имени;
- получение, установка, оповещение о глобальном статусе;
- отправка сообщений из плагина контактам, которые в списке;
- оповещение о статусах контактов;
- получение данных контактов из локальной базы;
- добавление кнопок к чат окну;
- получение/отправка сообщений в чат;
- проигрывание звуков ядра и собственных;
- добавление/отрисовка/обновление/удаление собственных контактов в основной список контактов;
__________________
www.INF.ru

Last edited by inherited; 21.07.2008 at 20:14.
INF вне форума  
Old 21.07.2008, 17:59   #8
INF
QIP Developer
 
Join Date: 05/2005
Posts: 877
Default

QipPluginSdk 1.5.0

(Для работы плагинов на основе этого sdk необходим QIP Infium 9011 RC2 и выше)

QipPluginSdk 1.5.0 (Delphi)
QipPluginSdk (C++)

Обновлен SDK и пример плагина на delphi.

Новые возможности SDK:
- возврат клика на всплывающем сообщении плагину;
- возможность закрывать всплывающие сообщения плагина;
- возможность получать папку профиля QIP Infium для сохранения файлов плагина;
- возможность получать цвета и шрифт списка контактов;
- возможность показывать и рисовать всплывающую подсказку над контактами плагинов;
- возможность получать статус любого контакта, который в списке;
__________________
www.INF.ru
INF вне форума  
Old 06.10.2008, 14:20   #9
INF
QIP Developer
 
Join Date: 05/2005
Posts: 877
Default

QipPluginSdk 1.6.0

(Для работы плагинов на основе этого sdk необходим QIP Infium 9017 RC3 и выше)

QipPluginSdk 1.6.0 (Delphi)
Обновлен SDK и пример плагина на delphi.

Новые возможности SDK:
- расширена структура TPluginInfo, добавлено описание, подсказка, иконка;
- отправка данных плагина и правого клика на кнопках плагинов, добавились параметры в сообщения PM_PLUGIN_MSG_BTN_CLICK и PM_PLUGIN_CHAT_BTN_CLICK;
- возможность закрывать или перезапускать инфиум;
- возможность получать настройки подключения;
- добавлены параметры в сообщение PM_PLUGIN_LOAD_SUCCESS (Wparam=Core_SDK_VER_MAJOR, LParam=Core_SDK_VER_MINOR);
- изменено поведение ядра при несоответствии версий sdk, теперь отправляется PM_PLUGIN_WRONG_SDK_VER
(где Wparam=Core_SDK_VER_MAJOR, LParam=Core_SDK_VER_MINOR) без завершения работы плагина;
- возможность перечисления всех плагинов из плагина;
- возможность как целенаправленного, так и широковещательного "общения" между плагинами;
__________________
www.INF.ru
INF вне форума  
Old 17.11.2009, 00:51   #10
Sega-Zero
QIP Developer
 
Sega-Zero's Avatar
 
Join Date: 05/2006
Posts: 1,683
Default

QipPluginSdk 1.7.0

(Для работы плагинов на основе этого sdk необходим QIP Infium 9033.4 RC4 и выше)

QipPluginSdk 1.7.0 (Delphi)
Обновлен SDK и пример плагина на delphi + добавлен еще 1 пример и модуль с классом-оберткой

Новые возможности SDK:
- расширена структура TQipMsgPlugin, добавлено DllHandle протокола
- расширена структура TContactDetails, добавлен путь к аватару контакта
- возможность перечисления всего контакт-листа, либо контактов отдельного протокола
- возможность вытаскивать фейк-контакты на рабочий стол (реализация плавающего контакта остается за разработчиком плагина)
- возможность проверки контакта на вхождение в группу не в списке
- возможность открыть/сфокусировать вкладку ос или чата
- возможность очистить мигание входящего события
- возможность добавлять индикаторные иконки для контактов
__________________
www.sega-zero.blogspot.com <- как продвигается работа

Last edited by Sega-Zero; 18.11.2009 at 23:13.
Sega-Zero вне форума  
Old 21.05.2010, 20:28   #11
Sega-Zero
QIP Developer
 
Sega-Zero's Avatar
 
Join Date: 05/2006
Posts: 1,683
Default

QipPluginSdk 1.8.0

(Для работы плагинов на основе этого sdk необходим QIP Infium 9035 N1 и выше или QIP 2010 версии выше 3397)

QipPluginSdk 1.8.0 (Delphi)

- расширена структура TQipMsgPlugin, добавлено поле OfflineMsg, в котором содержится текст оффлайн сообщения без текста "Оффлайн сообщение (дата)" если MsgType=MSG_TYPE_OFFMSG
- возможность перечисления учетных записей
- возможность получения метаконтакта и информации о его субконтактах
- возможность внедрять свои ветки в диалоге истории с учетом фильтра поиска
- возможность писать историю в бинарном формате ядра
- возможность добавлять свои подпункты в меню истории
- возможность перезаписывать ряд полей в деталях контакта (в том числе, имя контакта)
- уведомление об изменении содержимого деталей контакта
- возможность получить активную вкладку в ос и в чатах
- возможность заблокировать сервисные всплывашки

Подробности смотрите в примерах плагинов и на вики.
__________________
www.sega-zero.blogspot.com <- как продвигается работа

Last edited by Sega-Zero; 21.05.2010 at 21:55.
Sega-Zero вне форума  
Old 09.08.2010, 18:35   #12
Sega-Zero
QIP Developer
 
Sega-Zero's Avatar
 
Join Date: 05/2006
Posts: 1,683
Default

QipPluginSdk 1.9.0

(Для работы плагинов на основе этого sdk необходим QIP Infium выше 9036 и QIP 2010 версии 3966 или выше)

QipPluginSdk 1.9.0 (Delphi)

- множественные изменения класса TBasePlugin (поддержка png, поддержка PopupEx и др)
- добавлена возможность принимать и отправлять файлы, а также обрабатывать drag'n'drop файлов в поле ввода или на кнопку плагина
- новое сообщение для приема текста в чатах с более расширенной информацией. для обратной совместимости, сообщение PM_PLUGIN_CHAT_MSG_RCVD пока будет также работать
- уведомление об активации вкладки чатов
- возможность добавлять свои пункты в меню на выделенном тексте в ОС или чатах
- возможность получать статусы отдельных протоколов
- возможность получения текста х-статуса у контактов
- возможность получения уведомления о поиске контактов в кл

Кроме того, для облегчения жизни разработчикам на delphi, мы разработали визард создания скелета плагина (проект + модуль с классом, наследующимся от TBasePlugin). Автоматический установщик можно скачать здесь или здесь. Пакет также включает файлы сдк и примеры. Ошибки в визарде можно репортить в соответствующем разделе форума.
__________________
www.sega-zero.blogspot.com <- как продвигается работа

Last edited by Providence; 09.08.2010 at 19:16. Reason: ...
Sega-Zero вне форума  
Old 04.10.2011, 12:58   #13
Sega-Zero
QIP Developer
 
Sega-Zero's Avatar
 
Join Date: 05/2006
Posts: 1,683
Default

QipPluginSdk 1.10.0

(Для работы плагинов на основе этого sdk необходим QIP 2012 версии 6537 или выше)

QipPluginSdk 1.10.0 (Delphi)

- добавлена возможность перечислять и управлять изображениями/видео на указанной вкладке
- уведомление о создании новой вкладки
- возможность добавлять пункты меню в меню контакта (в кл и ос)
- возможность отправлять в чат гипер-ссылки с реакцией на нажатие в плагине
- множественные исправления в u_baseplugin:
+ хранение списка созданный всплывашек с возможностью доступа к каждой
+ информация о текущем анти-босс режиме
+ GetActiveChatTab работал неправильно
- добавлен новый плагин-пример PicHider, демонстрирующий управление над изображениями

Автоматический установщик: скачать exe / скачать zip.
__________________
www.sega-zero.blogspot.com <- как продвигается работа
Sega-Zero вне форума  
Old 16.12.2011, 18:09   #14
Sega-Zero
QIP Developer
 
Sega-Zero's Avatar
 
Join Date: 05/2006
Posts: 1,683
Default

QipPluginSdk 1.11.0

(Для работы плагинов на основе этого sdk необходим QIP 2012 версии 7000 или выше)

QipPluginSdk 1.11.0 (Delphi)

- добавлена возможность добавлять и удалять свои полоски в окно сообщений
- возможность управлять хинтом на полоске

Автоматический установщик: скачать exe / скачать zip.
__________________
www.sega-zero.blogspot.com <- как продвигается работа

Last edited by Sega-Zero; 30.08.2012 at 19:27.
Sega-Zero вне форума  
Old 30.08.2012, 19:27   #15
Sega-Zero
QIP Developer
 
Sega-Zero's Avatar
 
Join Date: 05/2006
Posts: 1,683
Default

QipPluginSdk 1.12.0

(Для работы плагинов на основе этого sdk необходим QIP 2012 версии 8470 или выше)

QipPluginSdk 1.12.0 (Delphi)

новые возможности:
+ работа с виджетами в ОС и КЛ
+ более удобная работа с графикой
+ возможность задавать хинт для спец.контактов в виде строки bb-code
+ возможность управлять статусами протоколов
+ возможность создавать свой GUI практически любой сложности с помощью
набора предоставленных интерфейсов-оберток над Delphi VCL
+ ряд вспомогательных интерфейсов, упрощающих разработку:
+ поддержка HTTP
+ работа с коллекциями строк
+ расширенная работа с графикой (в том числе анимированной)

Автоматический установщик: скачать exe / скачать zip.

также, sdk можно скачать из svn на google code и на github
просьба протестировать на наличие недочетов на версии 8470, чтобы можно было оперативно все исправить до релиза.
__________________
www.sega-zero.blogspot.com <- как продвигается работа
Sega-Zero вне форума  
Closed Thread

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +4. The time now is 01:08.


Powered by vBulletin.
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
©2004 - 2012 QIP.RU