Как стать автором
Обновить

twitterspy: ваш персональный jabber-шлюз в твиттер

Время на прочтение 2 мин
Количество просмотров 1.9K
Посвящается тем, кому не хватило инвайтов на t2p.me, достали периодические лёжки tweet.im и просто хочется взять эту шашку в свои руки.

Речь о 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.
Теги:
Хабы:
+6
Комментарии 13
Комментарии Комментарии 13

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн