twitter2vk
По-русски
СКРИПТ БОЛЬШЕ НЕ ПОДДЕРЖИВАЕТСЯ. API и требования сервисов изменился, такой функционал уже надо делать в виде отдельного сервиса, а не личного приложения. Скрипт сейчас представляет только историческую ценность.
Скрипт для автоматической публикации статусов Twitter’а во В Контакте. Так же в отдельном пакете есть консольная утилита для создания настроек и добавления задачи в cron.
Внимание: настройки содержат ID сессии во В Контакте, с помощью которого можно получить полный доступ. Убедитесь, что посторонние не имеют к файлу доступ.
По умолчанию, ответы и статусы с #novk не будут публиковаться во В Контакте (но можно использовать #vk для перепубликации любого статуса).
Вы можете установить на сервер только пакет twitter2vk_reposter и создать настройки на домашнем компьютере (не забудьте добавить задание cron). Или можете удалить пакет twitter2vk, после настройки.
Вы можете последовать за автором @andrey_sitnik, чтобы получать информацию о последних обновлениях. По всем вопросам можно писать на andrey@sitnik.ru.
Подробная статья — http://habrahabr.ru/blogs/twitter/88386/.
Возможности
- Не хранит пароли в настройках.
- Поддерживает ретвиты.
- Имеет гибкие настройки формата статуса и игнорирования статусов.
Установка
-
Установите Ruby и Rubygems. Например, для Ubuntu:
sudo apt-get install rubygems build-essential
-
Установите gem twitter2vk:
sudo gem install twitter2vk
-
Запустите мастер, чтобы создать настройки и добавить задание к cron:
twitter2vk
-
Если ваш сервер находиться не в России, вам нужно один раз вручную войти во В Контакте с сервера (чтобы подтвердить себя с помощью номера телефона). Например через консольный браузер:
www-browser vkontakte.ru
Настройки
Настройки хранятся в YAML файле с полями:
-
vk_session
– ID сессии для доступка к В Контакте. -
twitter_token
,twitter_secret
— данные для доступа к Twitter’у через OAuth. -
exclude
— список слов или regexp’ов статусов, которые не нужно публиковать во В Контакте. Код:reply
исключит ваши ответы другим пользователя,:retweet
— ретвиты от вас,:all
— все сообщения (имеет смысл, если комбинировать с правилами изinclude
). -
include
— список слов или regexp’ов для отмены exclude. -
format
— вид статуса во В Контакте.%status%
будет заменён на текст статуса,%url%
— на ссылку на статус в Twitter’е. -
last
— текст послеformat
. Если статус больше допустимого во В Контакте, то первым делом обрезаетсяformat
, поэтомуlast
удобен для указания ссылки на твит. -
retweet
— вид ретвита.%status%
будет заменён на текст,%author%
— на автора твита. -
replace
— список массивов из двух элементов для замены текста в статусе. Код:user_to_url
заменит имена пользователей на ссылку на их Twitter. -
last_message
— файл, чтобы хранить ID последнего полученного сообщения.
English
SCRIPT DOESN’T SUPPERTED ANYMORE. Sites API and requirements was changed, so this function must be solved by web service, not local script. The script is now only of historical value.
Script to automatically repost statuses from Twitter to VK. It also contain in separated package CLI tool to create config and add cron task.
Warning: config contain session ID for VK, which can be used to get full access. Make sure that outsiders don’t have access to this file.
By default, reply and statuses with #novk willn’t be reposted to VK (but you may use #vk to repost any status).
You may install on server only twitter2vk_reposter package and create config on home computer (don’t remember to add cron task). Or you can uninstall twitter2vk after you create config.
You can follow author @andrey_sitnik to receive last updates info. You can ask me any questions by e-mail: andrey@sitnik.ru.
Features
- Don’t store passwords in config.
- Retweet support.
- Flexible status format and ignore rules.
Install
-
Install Ruby and Rubygems. For example, on Ubuntu:
sudo apt-get install rubygems build-essential
-
Install twitter2vk gem:
sudo gem install twitter2vk
-
Run master to create config and add crom task:
twitter2vk
-
If your server isn’t located in Russia or in country, where you living, you need to once sign in to VK from your server (for example). For example, by console browser:
www-browser vk.com
Config
Config is a YAML files with options:
-
vk_session
– session ID to access to VK. -
twitter_token
,twitter_secret
— data to access to Twitter by OAuth. -
exclude
– list of text or regexp patterns to exclude statuses from your VK. Code:reply
will exclude your replies to another users,:retweet
will exclude retweets by you,:all
will exclude all message (make sense withinclude
rules). -
include
– list of text or regexp patterns to repost excluded statuses. -
format
– format reposted status.%status%
will be replaced by status text,%url%
by status link on Twitter. -
last
— text afterformat
. If status will be longer that VK allow,format
will be trim first. Solast
it useful, to set link to Twitter status. -
retweet
— format of retweet.%status%
will be replaced by text,%author%
will be replace by tweet author. -
replace
– list of array with 2 elements to replace text in status. Code:user_to_url
will replace user name to his Twitter link. -
last_message
– file to contain ID of last reposted message.