Pull to refresh

Объединение jabber и vkontakte.ru

Reading time2 min
Views10K
imageПрочитав недавнюю тему «IM на ВКонтакте», решил внимательно проштудировать эту тему и найти решение для удобного общения вконтакте не заходя на сайт.

Имея pidgin и жаббер акк на xmpp.ru я захотел получить всех друзей из вконтакта в ростер.

То что вышло из этого смотрим под катом
Итак для начала я стал искать решение наиболее коротким путем — поиском плагина для pidgin, чтобы использовать vkontakte как обычный протокол общения. К сожалению подобного плагина я найти не смог (
Даже ничего похожего на разработку. оно и видно, пидгин почему то не очень жалуется пользователями рунета. Обидно блин.

Тогда я пошел с другой стороны — вспомнил что протокол jabber силен не только независимостью от компании AOL но и такой замечательной вещью как транспорты. Поиски в инете мало к чему привели и тогда я стал искать в группах самого вконтакта и нашел очень даже неплохой проект под неблагозвучным названием pyvk-t.
На свой jabber сервер я не стал устанавливать это ПО, тк у меня используется OpenFire, к которому очень проблематично прикручивать какие либо транспорты если они изначально не прикручены разработчиком, поэтому я пошел по пути наименьшего сопротивления — использовать готовые серваки с транспортами.

На страничке pyvk-t есть небольшой список серваков, держащих этот транспорт:
eqx.su
hartois.info
games.onego.ru
zoo.dontexist.net


первый из них является оф сервером разработчиков, на котором постоянно тестируются новые версии, из за которых периодически ничего не работает :) Поэтому методом проб и ошибок я пришел к серверу zoo.dontexist.net, как наиболее стабильному из всех.

Еще я обнаружил досадный косяк pidgin'a — отсутствие обзора сервисов джаббер сервера, видимо многопротокольность дает о себе знать :(. если кто знает — как реализовать в пидгине обзор сервисов — коменьте плз.

Поэтому для добавления транспорта я использовал другой jabber клиент (psi+)
Жмем General — Service Discovery
вводим имя сервера (zoo.dontexist.net)
ищем в списке vkontakte.ru transport, правой кнопкой — register. вводим свой емайл и пароль для доступа вконтакт, жмем REGISTER
(для других клиентов схема аналогичная)

После всех манипуляций в нашем ростере появится транспорт вконтакта, откроем окно общения с ним и наберем /login

после чего транспорт «входит» вконтакт

набираем /get roster UPD
после чего в группу General добавятся все ваши друзья из вконтакта, надо будет дать всем авторизацию или заранее настроить чтобы клиент давал авторизацию всем.

в общем все готово. выходим из psi заходим в pidgin, все контакты видны, все прекрасно работает.

у транспорта есть еще некоторые настройки (типа оповещений о добавлениях в группы итд) чтобы их просмотреть наберите /config
для изменения оных наберите /config имя_переменной,1
1 — true, 0 — false

это моя первая статья, пожалуйста сильно не пинайте ногами.
Tags:
Hubs:
+66
Comments108

Articles