Twitter 2 Vkontakte

На сегодняшний день (2011 год) единственно нормально работающий вариант — twitter2vk, написанный @andrey_sitnik на ruby (пост на хабре, репы на github'e). Умеет все что нужно и удобен. Отдельные плюсы: проект живой и обновляется, сам софт состоит из двух частей — конфигуратора (twitter2vk) и собственно репостера (twitter2vk_reposter). Первый создает конфиг формата yml, второй его кушает, соответственно пароли в конфиге не хранятся. Гибко настраивается вид транслируемого твита, а также обучен фильтровать что постить, а что нет. Более подробно обо всем в соответствующем посте на хабре.

Делаем:

sudo aptitude install rubygems libopenssl-ruby ruby-dev

sudo gem install twitter2vk twitter2vk_reposter

twitter2vk

и радуемся. Единственное, не забудьте проверить настроил ли он задачу в cron'e, а то у меня конфигуратор сам с этим ни разу не справился.

ETA: Ещe @_epsilon подсказывает, что есть даже отдельный сервис 2vkontakte.ru, но как подсказывает опыт, подобные вещи нежизнеспособны в long run, так как быстро банятся вконтактом, да и доверия у параноиков типа меня не вызывают.

А то что было написано ранее уже давно неправда. ETA: За исключением реализации на php от kichrum.org.ua — она, как мне сообщают, работает до сих пор, цветет и пахнет. Вот пост с подробным описанием.





 
 

С полгода назад пошла череда постов на тему постинга статуса из Twitter'a во Вхонтахтег и никак не доходили руки настроить себе. Итак.

 

Существующие решения:

  1. Habrahabr (python)
  2. Habrahabr (php)
  3.  
  4. orl.sumy.ua
  5.  
  6. kichrum.org.ua
  7.  
  8. taras.tk

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

Подход 2. Последнее, пятое, решение работает и работает идеально: нет анальной оккупации ленты, работает быстро, стремительно, но не фильтрует реплаи и DM. Но исправить это дело стало нетривиальной задачей.

Подход 3. Я не знаю почему именно в этом скрипте сзять character из строки по номеру — нельзя, точнее тупо не работает и возвращает всю строку. Мб у меня не тот php или еще что — в общем, пришлось полдня страдать херней и переписать все, кроме api конечно. В итоге выяснилось, что работает substr (). Зато работает так как надо, сука (скачать).

6. Оказалось это еще не предел и нашелся смелый laughedelic, реализовавший это на Haskell'e.

UPD: После обновления сервиса статусов Вконтакте и юзерапи, данные рецепты полетели к черту, зато появился выход  - http://www.taras.tk/2010/08/avtomaticheskoe-obnovlenie-statusa-v-kontakte-pri-pomoshhi-twitter-%E2%80%93-twitter2vkontakte-2-0/. Но и эту лавочке вконтактик прикрыл. Пичаль.

 

Related Posts

Grub2 Recovery
Do Your Work
QR Code
This entry was posted in cron, php, twitter, Вконтакте
  • http://kichrum.org.ua Kichrum

    То есть как это давно не правда??? Моя реализация на PHP kichrum.org.ua/combine-vk...-17-07-2009.html работает до сих пор!

  • Олег

    И тут, внезапно, оказалось, что Вконтакт всё изломал.

    После введения твиттероподобных статусов произошло несколько вещей:

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

    — При включенном режиме микроблога новые статусы тупо не передаются. Транспорт не отрабатывает, хоть и не выдаёт при этом ошибок.

    Что бы с этим сделать? Есть идеи?

    • http://andrewkiselev.com Andrew

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

  • http://pdf.my-addr.com/ iodituirl

    спасибо за интересную информацию

  • http://andrewkiselev.com Andrew

    Собственно их то фильтовать очень просто — по @ в начале. Зачем людям Вконтакте следить за разоворами меня с неизвестно кем.

  • http://laughedelic.habrahabr.ru/blog/85894/ laughedelic

    у меня вот тоже есть решение. вдруг вам интересно..

    laughedelic.habrahabr.ru/blog/85894/

    • http://andrewkiselev.com Andrew

      Да, конечно! Тем более на хаскеле, учитявая то что я его не знаю, то было очень интересно взгялнуть, спасибо, добавлю в список выше.

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

  • http://laughedelic.habrahabr.ru/blog/85894/ laughedelic

    у меня вот тоже есть решение. вдруг вам интересно..

    laughedelic.habrahabr.ru/blog/85894/

    • http://andrewkiselev.com Andrew

      Да, конечно! Тем более на хаскеле, учитявая то что я его не знаю, то было очень интересно взгялнуть, спасибо, добавлю в список выше.

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

  • http://kichrum.org.ua Kichrum

    Я тоже, хоть и являюсь автором метода 4, использую доработанный под себя 5-й метод. Только не понятно, что у тебя за проблема с DM? DM вроде ни в каком из решений не публикуются в контакт :) А реплаи согласен, пришлось убрать... И еще существовала проблема со спец. символами, html "" — заменялись на коды типа > Тоже пришлось добавить проверку... Надо будет когда-нибудь выделить время и выставить всё-таки наиболее универсальную версию. =)

    И еще — что именно ты реализовывал в подходе №3?

    • http://andrewkiselev.com Andrew

      Кроме изменения структуры скриптов как мне привычнее — по факту только добавил фильтрацию нестатусов — реплаев например. В версии Тараса постились все статусы. И вот там то и засел — до сих пор не могу понять почему нельзя брать символ из строки по индексу... Я хоть и не знаток пхп, но такого подвоха не ожидал — в итоге раздутый для отдалки код было лень оптимизировать — работает и не трогаю)

      C > и < да, проблема, но вроде только с ними, уже хорошо) Ну а что в этой шарманке можно добавить кроме проблем с символами?

      У меня знакомый правда реализовал это все с ноля. На Си. Надо будет взглянуть.

      • http://taras,tk Тарас

        Насчет реплаев в принципе нужно подумать. Может и стоит их фильтровать иногда. Возможно стоит ввести некий хеш-тег...

        • http://andrewkiselev.com Andrew

          Собственно их то фильтовать очень просто — по @ в начале. Зачем людям Вконтакте следить за разоворами меня с неизвестно кем.

  • http://kichrum.org.ua Kichrum

    Я тоже, хоть и являюсь автором метода 4, использую доработанный под себя 5-й метод. Только не понятно, что у тебя за проблема с DM? DM вроде ни в каком из решений не публикуются в контакт :) А реплаи согласен, пришлось убрать... И еще существовала проблема со спец. символами, html "" — заменялись на коды типа > Тоже пришлось добавить проверку... Надо будет когда-нибудь выделить время и выставить всё-таки наиболее универсальную версию. =)

    И еще — что именно ты реализовывал в подходе №3?

    • http://andrewkiselev.com Andrew

      Кроме изменения структуры скриптов как мне привычнее — по факту только добавил фильтрацию нестатусов — реплаев например. В версии Тараса постились все статусы. И вот там то и засел — до сих пор не могу понять почему нельзя брать символ из строки по индексу... Я хоть и не знаток пхп, но такого подвоха не ожидал — в итоге раздутый для отдалки код было лень оптимизировать — работает и не трогаю)

      C &gt и &lt да, проблема, но вроде только с ними, уже хорошо) Ну а что в этой шарманке можно добавить кроме проблем с символами?

      У меня знакомый правда реализовал это все с ноля. На Си. Надо будет взглянуть.