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.
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 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 :) Ошибся

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