войти зарегистрироваться

Социальные сети whois

индекс
110,88

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

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

это моя первая статья, пожалуйста сильно не пинайте ногами.

комментарии (107)

  • «pyvk-t» — Python VKontakte Transport.
    • тем не менее сокращение не из благозвучнейших.

      Анализ сырцкода показал, что работает транспорт не через какое-либо API, а парсингом сайта (мобильной версии для уменьшения трафика). Всвязи с этим остро встает вопрос о безопасности. Доверять или не доверять — вот в чем вопрос.
      • А с какой целью прикручивается к джабберу сие чудо? Как замена «Моим сообщениям»?
      • раскрыть комментарий
      • Туплю я, что не так с сокращением?

        Ну а по поводу API — вконтакт не предоставляет нужных API, так что приходится парсить. :-)

        (нет, я не разработчик, просто немного ковырялся в теме)
        • Давно пора вконтакту поднять свой джаббер, как это сделали ЖЖ и QIP.
          • А зачем? Чтобы уменьшить посещаемость самого ресурса? Чтобы потом пользователи прониклись тем, как это круто общаться не заходя на вконтакт?
            • «Рабов надо приковывать к галере цепью»
          • а как работает я.онлайн? они тоже парсят?
            • Нет. Я.Онлайн проверяет наличие обновлений с помощью vkontakte.ru/feed.php Как понимаю некий АРI.
      • Да если бы и через API, то проблема доверия/недоверия остается актуальной.
  • Недавно тоже озаботился подобной проблемой, только вот почему-то упомянутая в статье «IM на ВКонтакте» софтина не пришлась по вкусу, но теперь сегодня же использую предложенный автором способ, тем более, что, тут, как мне кажется кроются гораздо большие возможности, чем чат.
    • В основном использую для просмотра списка онлайн контактов — раз человек залез вконтакт — сразу видно что человеку нефег делать и с ним можно спокойно пообщаться в аське. Многие люди не имеют ICQ, jabber контактов и очень активно используют вконтактовые сообщения. почти как аську. с такими тоже прозще общаться через транспорт.
  • к которому очень проблематично прикручивать какие либо транспорты если они изначально но прикручены разработчиком

    тут, наверное, надо

    к которому очень проблематично прикручивать какие либо транспорты если они изначально нЕ прикручены разработчиком
  • что-то больно много стало извращенцев, прикручивающих что попало к джабберу :) предлагаю в следующий раз прикрутить джаббер к смс ;)
    • Кстати хорошая идея. этим мы сможем убить mail.ru агент — на данный момент наверно лучший БЕСПЛАТНЫЙ отправлятель смсок
      • Да ну какой там лучший… Через 2-5 смс бан на 24 часа за то что «пользователь вам не отвечает».
    • дык… так давно прикрутили уже ;)
      • например?
        • Например, тот же самый транспорт в mail.ru агент :-D
          • а в каком транспорте в маил-агент можно посылать сообщения?
            у меня от jabber.ru прикручен — я там не нашёл такого функционала (или плохо искал?)
      • например?
        • например на jabber.te.ua когда то был транспорт
      • например?
  • на xmpp.kz ребята как-то скрутили все это вместе. Как они это сделали, не знаю. Работает ли, тоже не знаю, так как этим транспортом не пользуюсь. А транспорты аськи и агента работают хорошо.
  • О! Надо посмотреть насколько просто писать плагины для pidgin и, может быть, написать свой.
    Спасибо за идею.
    • лучше напиши свой pidgin :)
      • С блекджеком и вкнотакте :)
  • А тем, у кого есть Миранда, можно получить доступ напрямую — ведь для них есть соответствующий аддон.

    И жизнь хороша :)
    • аддон это конечно хорошо, но вот у меня миранда любит с ним крашиться. причём такая работа замечена как на сборках, в которую уже включен протокол, так и в тех, где не включен. ОСи были vista, win7. на xp пока что не тестил.
      • На XP на стандартной юникодной сборке (+ пара-тройка аддонов) не крашится совсем. Вероятно, в вашей сборке конфликт с каким-нибудь аддоном. Обычно этим грешат всякие визуальные расширения, например для окна ввода текста.
        • Пара тройка? Там ведь только стандартных штук 5 (не меньше), или ты имеешь ввиду дополнительных (помимо стандартных)?
          • Ну естественно, дополнительные. А в стандартную сборку входит 14 аддонов )
      • Скажу больше. Есть аж 2 плагина к миранде с доступом Вконтакт. Второй называется ICEIM, и впервые была замечена в одноимённой сборке. Кстати сборка наитупейшая (ИМХО). Автор вырезал все (!!!) и оставил тока Вконтакт =/
        iceim.lavente.ru/
        Но плаг вроде пореже падает
  • читал эту статью, когда она еще была в песочнице. транспорт поставил дня 4 тому. пока нормально все работает.
  • Паша был бы против этого. Он вообще против существования внешних интернетов.
  • переходите на фэйсбук — там всё давно уже есть )
    • Ок. Перешёл. Теперь переведи всех моих друзей\знакомых\родственников.
      • Кстати:
        «там всё давно уже есть»

        Я что то пропустил?
        • в контексте данного топика — несомненно.
          официальный плагин для пиджина существует.
  • разрабатывается еще один транспорт code.google.com/p/v-kontakte-jt/
    если кто-то поможет в разработке, будет очень хорошо
    • А почему не смержить два проекта?
    • А, понял, почему не смержить. У вас вообще еще кода в репозитории нет :-)
  • Вконтакте кстати есть мини-апи (к нему тулбар обращается) vkontakte.ru/feed2.php
    Думаю проверка обновлений через него идет а сбор данных типа текста сообщения и т.п. идет парсингом страничек
  • очень нестабильно транспорт работет
    • Пока что никаких ошибок не замечал, как проявляется нестабильность?
      • транспорт отваливается…
  • раскрыть комментарий
  • Да уж… Слишком дружелюбным рекомендую включить «автоматическая авторизация контактов» перед /get roster
    Просто когда закончились оперативка и swap пришлось жать Reset
    Free Image Hosting at www.ImageShack.us
    • Боян, это с любым транспортом так :-)
      • Ага. Но наверное я просто уж очень «дружелюбный»… В ICQ транспорте раза в 2 меньше контактов)
  • НЛО прилетело и опубликовало эту надпись здесь.
  • добавил всех друзей с hartois.info. никого в сети нету и просит всех авторизовать…
  • Скажите, история сохраняется вконтакте?
    Т.е. можно ли отправленные/полученные сообщения через транспорт прочитать потом на vkontakte.ru/mail.php?
    • да. как только вы отправите сообщение через джаббер оно появиться в списке отправленных на сайте, тоже самое и с входящими.
      • отлично! спасибо :)
  • раскрыть комментарий
  • А нет ли у автора желания сделать возможным отсылать сообщения всем, кто находится в группе? Т.е. есть у меня группа на почти 6к человек --было бы крайне приятно иметь возможность всем им отправлять мессаги.
    • Даже если бы такое желание было, то очень и очень быстро скрипт попросят вводить капчу, которую придётся форвардить обратно юзеру.

      Хотите ввести 6000 капч? :-)
      • Не особо. Про каптчу не уверен, для чего её вводить и кому?
        • Рассылая одногруппникам своим (коих меньше 25) инвайты в google-группу я столкнулся с тем, что после ~пятого сообщения меня стали просить ввести капчу.

          Очевидно, один из методов борьбы со спамерами.
          • Печально, этой возможности очень не хватает.
            • Наоборот, очень радостно, потому что то, что человек записался в какую-то группу, совершенно не означает, что ему нужно всё время что-то рассылать; это ужасно раздражает.
              • Полностью с вами согласен, я тоже не сторонник несанкционированых рассылок, но эта возможность облегчила бы жизнь владельцам групп. Достаточно сделать подключение к рассылке опциональным и всё-- волки сыты и овцы целы.
  • у меня используется OpenFire, к которому очень проблематично прикручивать какие либо транспорты если они изначально но прикручены разработчиком

    OpenFire поддерживает XEP-0114, так что по логике вещей особых проблем быть не должно.
  • Когда обнаружил этот транспорт — тоже обрадовался. Но, наше знакомство началось с двухста авторизационных окошек Gajim`a. Имена контактов сами тоже не подгрузились, после чего я еще немного поигрался и оторвал транспорт. Сыровато пока.
    Идея несомненно хорошая, но, к сожалению, я практически уверен, что этому проекту не суждено вылезти из «подполья», а это сулит ограниченный функционал с одной стороны и борьбу с транспортом, в случае повышения его популярности, с другой. :(

    P.S. К слову, я про это уже писал.
  • Должен сказать что zoo.dontexist.net тоже сервер разработчика, и на нем периодически что-то я тестирую. Однако моя доля в развитии достаточно мала.

    Насчет команд — они доступны через ad-hoc, (не уверен что пиджин умеет), это позволит не учить их наизусть и выполнять несколько удобнее.

    Исправьте /get list на /get roster
  • Существуют и не transport интеграция ВКонтакте и Jabber.

    Приложение Сообщения 2.0
    vkontakte.ru/app590231 (или vkontakte.im).

    Это Flash приложение, являющееся клиентом к Jabber-серверу. Позволяет автоматом поддерживать ростер из списка друзей. Можно также юзать свой standalone Jabber-client.

    Тов. Pingwinator написал подробно свой экспириенс:
    pingwinator.habrahabr.ru/blog/59400/
    • оно не позволяет же переписываться из обычного джаббер аккаунта с людьми во вконтакте, не юзающими это приложение. В таком случает это просто ещё одна сеть на основе джаббера и с вебмордой через вконтакте.
      • Не позволяет, вы правы.

        Но если человек хотя бы установит приложение, он будет получать оповещения на сообщения через левое меню ВКонтакте. Т.е. есть некая интеграция с ВКонтакте. Кроме того, в roster автоматически добавляются ВКонтактовские друзья. Это все к тому, что это не тупо вебморда.

        И там, и там есть свои Pros и Cons.

        Если уж вы апологет транспорта, перечислю его Cons (из топика, ссылку на который я дал):
        К недостатком (очевидным) транспорта можно отнести:
        — Вам придется предоставить свой пароль от vkontakte
        — Транспорт будет не IM, а HTTP-poll раз в N секунд
        • по моему мнению, это просто совершенно разные вещи. Транспорт позволяет использовать джаббер для совершения обычных действий вконтакте. А это приложение — использовать вконтакте как IM.
  • Никогда не понимал, какую пользу в себе несет сервис Вконтакте…
    • Он позволяет эффективно отбирать из кучи офисных сотрудников тех — кого надо наказать рублем :)
      • ага, заглядываеш в ростер и видиш людей которым явно не хватает работы, и подгружаеш их. Очень удобно. Достаточно отделить всех сотрудников в отдельную группу и проверять что она пустая. Враг не пройдет :)
        • ну я не совсем о сабже. Я про логи прокси офисной.
          Увидел кто опять вошел в астрал контакт и присылаешь ему предложение забрать трудовую книжку)
          • В этом случае проще отключить соц сети для большинства пользователей. и включать за огромные алкогольные шоколадки.
            • тут как посмотреть)
              такие люди всеравно работать не будут даже если это им отключить.
              А так можно будет статистику собрать.
              Я рассматриваю это со стороны наибольшей эффективности работы, тоесть пользы для компании, а не подкупа админа :)
        • кстати, онлайн-статус показывается только тогда, когда ты заходишь на страницу своего профиля. У меня например стоит линк на группу и на профиль я соответственно никогда не вхожу — всегда в оффлайне) так что обойти офисным можно легко.
      • Я в своем офисе уже давно запретил и вконтакте и одноклассники. Был даже случай увольнения мной сотрудника. Ну а теперь все путем, сайты блокированы)
        • Собственно самый важный момент- работать стали лучше или теперь нашли чем заниматься кроме этих сайтов?
          • Работать стали лучше, потому-что блокировал не только эти сайты, а еще и трафик — контроль поставил и посадил админа, чтобы следил кто и на каких сайтах был. Как-то так…
  • НЛО прилетело и опубликовало эту надпись здесь.
    • А что там?)
      • Там олицетворение пустоты и глубокого одиночества
        • Да вроде норм)
          • ну это смотря как посмотреть — через позитивную точку зрению всё впринципе радужно) Но вообще конечно стоит допросить самого товарища, что мы там должны увидеть, может быть там в аски символах скрытое послание. а все со злости минусуют ему карму потому что не видят ничего. слепцы....*плачет*
  • на Квипе сделал по инструкции (о боже, я пользуюсь быдломессенджером и быдлосайтом, как мне теперь завоевать уважение у тру интелектуального небыдла?). Действительно только последний сервак более или менее работает, но добавил в список только 5 человек а потом замолчал. странно :-\
    • Настроил таки для Infium я это. всё работает (пока что). из-за того что зарегился на всех 4-ёх серваках, пишу я через один сервак, а ответ приходит через другой. неразбериха была и пришлось остаться на том серваке откуда приходит ответ. Как правильно заметили, лучше всё это делать в PSI+ а потом уже после добавления всех переходить на свой клиент.
  • Подскажите пожалуйста, а как им пользоваться, если все контакты выглядят как номера айдишников? Или я что-то делаю не так?
    • у меня 10% не отобразилось и выглядят как ID.
      но я 3 раза удалял и писал /get roster и каждый раз количество безниковых контактов было разное. Потом человек 20 вручную переименовывал. видать не всё так гладко
      • переименовывать не обязательно. достаточно у «неопознанного» запросить инфо.
  • у меня все 132 друга добавились без малейших проблем. После небольшой конфигурации даже аватары пригрузились.
    • а какой из серверов использовали?
      • я же написал в топике!

        zoo.dontexist.net
        • А почему имена контактов не подгружаются?? приходится все самому переименовывать
          • у меня все отлично подгрузилось. в пси+ делали?
  • kefirux.livejournal.com/71732.html
    постарался написать по мотивам вашей статьи на языке «Ядерная физика для домохозяик». Авось на джабер таким макаром перетащу большинство) Только логично что всё это для QIP Infium отписал. Спасибо
    • я рад, что народу это пригождается. А неужели нельзя это все проделать прямо в QiP? он не держит сервисов? Уныло.
      • он держит сервисы, просто сначала я пробывал там и он добавил тока 5 френдов и запоролся
  • Ох… поставил я этот транспорт себе… так он мне за день мучений и не показал ни одного пришедшего мне сообщения и статусы друзей тож не показывает.
    Но отправляет быстро. Без задержек и проблем =)

    Что я делаю не так? Хочется чтобы транспорт работал полноценно
  • поставил в PSI, работает хорошо (games.onego.ru)
    задержка приёма нового сообщения составляет ~1 минуту
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.