Посвящается тем, кому не хватило инвайтов на t2p.me, достали периодические лёжки tweet.im и просто хочется взять эту шашку в свои руки.
Речь о Twitterspy, свободно распространяемом Jabber-боте, написанном на языке Python и уже умеющим местами больше, нежели вышеназванные известные гейты. MIT лицензия, под которой он распространяется, позволяет вам свободно модифицировать код бота, дабы расширять и без того изрядную его функциональность.
Так как это ваш личный бот, то и лимит в 20000 обращений в час к Twitter API весь полностью ваш (мне едва-едва удавалось потратить несколько сотен). Тем не менее, это многопользовательский бот и вы можете делиться им со своими друзьями. Можете даже дополнить его модулем инвайтов и раздавать их тут, на хабре.
Технически, бот не прожорлив. На моём сервере его процесс потребляет два десятка мегабайт оперативной памяти. Для его запуска, требуется следующее:
Клонируем репозиторий:
Подгружаем в репозиторий его внутренние зависимости (вроде библиотеки wokkel):
Копируем twitterspy.conf.sample в twitterspy.conf и модифицируем под себя (основное это придумать боту JID с паролем).
Инициализируем чистую базу данных. В случае CouchDB это команда:
В случае sqlite, это:
Готово. Запускаем демона:
Теперь достаточно добавить JID бота в контакты любого жаббер клиента и ваш персональный twitter шлюз в полном вашем распоряжении (кто первый сделает русскоязычную версию с веселыми эвфемизмами команды «отмена»? ;o)).
P.S.: Если хотите посмотреть на рабочего бота, то добавьте в контакты twitterspy@jabber.org.
Речь о Twitterspy, свободно распространяемом Jabber-боте, написанном на языке Python и уже умеющим местами больше, нежели вышеназванные известные гейты. MIT лицензия, под которой он распространяется, позволяет вам свободно модифицировать код бота, дабы расширять и без того изрядную его функциональность.
О функциональности:
- постинг сообщений в твиттер (команды post, autopost)
- добавление пользователей в «друзья» (follow/unfollow)
- простой поиск по твиттеру (search)
- перманентный поиск по твиттеру (track, tracks), то есть сказав «track habrahabr» вы будете получать все новые сообщения с вхождением слова habrahabr. Однако, для меня это главная и очень полезная фича данного бота
- слежение за друзьями (команда 'watch_friends on', сейчас на меня одновременно работают два бота — twitterspy и tweet.im, так сначала обычно приходит сообщение от twitterspy а уж через минуту от twitter.im, что понятно — первый бот работает только на меня, второй же на тысячи людей)
- да, ссылки в твитах, разумеется, не только автоматически сворачиваются в короткие, но и разворачиваются обратно при отображении их в jabber-клиенте
Так как это ваш личный бот, то и лимит в 20000 обращений в час к Twitter API весь полностью ваш (мне едва-едва удавалось потратить несколько сотен). Тем не менее, это многопользовательский бот и вы можете делиться им со своими друзьями. Можете даже дополнить его модулем инвайтов и раздавать их тут, на хабре.
Как запустить twitterspy
Технически, бот не прожорлив. На моём сервере его процесс потребляет два десятка мегабайт оперативной памяти. Для его запуска, требуется следующее:
- разумеется, python
- twisted (эта штука работает веб-сервер-демоном)
- memcached (это для хранения оперативной информации)
- CouchDB либо sqlite (для постоянного хранения вашей регистрационной информации, списка ваших траков и так далее)
Клонируем репозиторий:
git clone git://github.com/dustin/twitterspy.git
Подгружаем в репозиторий его внутренние зависимости (вроде библиотеки wokkel):
git submodule init && git submodule update
Копируем twitterspy.conf.sample в twitterspy.conf и модифицируем под себя (основное это придумать боту JID с паролем).
Инициализируем чистую базу данных. В случае CouchDB это команда:
./etc/create_couch.py
В случае sqlite, это:
sqlite3 /path/to/twitterspy.sqlite3 < etc/schema.sql
Готово. Запускаем демона:
twistd -y twitterspy.tac
Теперь достаточно добавить JID бота в контакты любого жаббер клиента и ваш персональный twitter шлюз в полном вашем распоряжении (кто первый сделает русскоязычную версию с веселыми эвфемизмами команды «отмена»? ;o)).
P.S.: Если хотите посмотреть на рабочего бота, то добавьте в контакты twitterspy@jabber.org.