Объединение 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

    это моя первая статья, пожалуйста сильно не пинайте ногами.
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 108

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

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

            а пароль да… надо бы сменить)
              0
              Туплю я, что не так с сокращением?

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

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

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

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

                                И жизнь хороша :)
                                  0
                                  аддон это конечно хорошо, но вот у меня миранда любит с ним крашиться. причём такая работа замечена как на сборках, в которую уже включен протокол, так и в тех, где не включен. ОСи были vista, win7. на xp пока что не тестил.
                                    0
                                    На XP на стандартной юникодной сборке (+ пара-тройка аддонов) не крашится совсем. Вероятно, в вашей сборке конфликт с каким-нибудь аддоном. Обычно этим грешат всякие визуальные расширения, например для окна ввода текста.
                                    • UFO just landed and posted this here
                                        0
                                        Ну естественно, дополнительные. А в стандартную сборку входит 14 аддонов )
                                    • UFO just landed and posted this here
                                    +1
                                    читал эту статью, когда она еще была в песочнице. транспорт поставил дня 4 тому. пока нормально все работает.
                                      +12
                                      Паша был бы против этого. Он вообще против существования внешних интернетов.
                                        +1
                                        переходите на фэйсбук — там всё давно уже есть )
                                        • UFO just landed and posted this here
                                          • UFO just landed and posted this here
                                              +1
                                              в контексте данного топика — несомненно.
                                              официальный плагин для пиджина существует.
                                              • UFO just landed and posted this here
                                          0
                                          разрабатывается еще один транспорт code.google.com/p/v-kontakte-jt/
                                          если кто-то поможет в разработке, будет очень хорошо
                                            –1
                                            А почему не смержить два проекта?
                                              +1
                                              А, понял, почему не смержить. У вас вообще еще кода в репозитории нет :-)
                                                –4
                                                репозиториё
                                              +3
                                              Вконтакте кстати есть мини-апи (к нему тулбар обращается) vkontakte.ru/feed2.php
                                              Думаю проверка обновлений через него идет а сбор данных типа текста сообщения и т.п. идет парсингом страничек
                                                0
                                                Да, так и есть
                                                0
                                                очень нестабильно транспорт работет
                                                  0
                                                  Пока что никаких ошибок не замечал, как проявляется нестабильность?
                                                    0
                                                    транспорт отваливается…
                                                • UFO just landed and posted this here
                                                    +3
                                                    Да уж… Слишком дружелюбным рекомендую включить «автоматическая авторизация контактов» перед /get roster
                                                    Просто когда закончились оперативка и swap пришлось жать Reset
                                                    Free Image Hosting at www.ImageShack.us
                                                      –1
                                                      Боян, это с любым транспортом так :-)
                                                        0
                                                        Ага. Но наверное я просто уж очень «дружелюбный»… В ICQ транспорте раза в 2 меньше контактов)
                                                      +1
                                                      ERROR: captcha request.
                                                      Please, contact transport administrator
                                                        –1
                                                        добавил всех друзей с hartois.info. никого в сети нету и просит всех авторизовать…
                                                          0
                                                          Скажите, история сохраняется вконтакте?
                                                          Т.е. можно ли отправленные/полученные сообщения через транспорт прочитать потом на vkontakte.ru/mail.php?
                                                            +1
                                                            да. как только вы отправите сообщение через джаббер оно появиться в списке отправленных на сайте, тоже самое и с входящими.
                                                              0
                                                              отлично! спасибо :)
                                                            –6
                                                            Для Miranda есть плагин vkontakte
                                                              0
                                                              А нет ли у автора желания сделать возможным отсылать сообщения всем, кто находится в группе? Т.е. есть у меня группа на почти 6к человек --было бы крайне приятно иметь возможность всем им отправлять мессаги.
                                                                –1
                                                                Даже если бы такое желание было, то очень и очень быстро скрипт попросят вводить капчу, которую придётся форвардить обратно юзеру.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                                                                          Only users with full accounts can post comments. Log in, please.