Пользователь
0,0
рейтинг
5 сентября 2009 в 17:39

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

Посвящается тем, кому не хватило инвайтов на 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.
Nikolay @niksite
карма
21,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (13)

  • 0
    > …добавьте в контакты twitterspy@jabber.org

    Чёта я там нифига не понял :( Как в Твиттер-то постить?
    • 0
      Сказать twlogin [твиттерологин] [твиттеропарол] и можно постить командой post (или без команд, если активировать autopost).
    • +1
      там есть команда help
  • 0
    единственный замеченный баг: бот присылает уже прочтенные PM. При большом количестве сильно напрягает.
    • 0
      можно написать о баге на github.com/dustin/twitterspy/issues тогда автор бота быть может пофиксит проблему
      • +1
        попытка создать issue переводит на «Log in» скрин Гитхаба с обязательной регистрацией. можно обойти этот use case и написать автору на почту, которая видна в профайле. Что, собственно, я и сделал.
  • +1
    Так как это ваш личный бот, то и лимит в 20000 обращений в час к Twitter API весь полностью ваш.
    Откуда вы взяли эту цифру? Лимит обращений — 150 в час, если вас нет в white list.
    • 0
      twitterspy сам это говорит в ответ на команду mood

      Нюанс тут в том, что track, вероятно, использует search API который лимитирован отнюдь не 150 запросами в час.
      Для авторизованных GET запросов я проверил по curl -u user:password twitter.com/account/rate_limit_status.xml — действительно всего 150 запросов в час.
  • 0
    есть кросспост из juick
    • 0
      любопытно, да. Возможно, что им и воспользуюсь. А twitterspy хорош траками и прочими следилками.
  • +1
    Я уж было подумал этот «проект» быстро сделали на новом функционале AppEngine :) Ошибся
    • 0
      угу, я как сказал в twitterspy 'track xmpp' так сплошняком идёт одна и та же новость про googleappengine.blogspot.com/2009/09/app-engine-sdk-125-released-for-python.html

      Вероятно, скоро попрут машапы на этой основе.
      • 0
        Ну а куда они денутся, да еще и на халявной платформе для старта :)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.