Twit. Продолжение.

    Начало.
    Исправляю предыдущий вариант скрипта. Теперь буду проверять ответ от сервера твиттера, чтобы убедиться в доставке сообщения. Само сообщение будет приниматься из stdin.
    Итак, теперь с помощью xsl-файла twit.xsl:
    <?xml version='1.0'?>
    <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
    <xsl:template match='/'>
    <xsl:value-of select='status/id'/>
    </xsl:template>
    </xsl:stylesheet>

    Буду проверять существует ли в ответе id нового сообщения. Собственно сам скрипт:
    #!/bin/sh
    # Made by rsk -- http://rsk.me
    
    
    # Imports $TPASS, $TUSER
    . ~/.twit/pass
    XSLPATH=/etc/twit/twit.xsl
    
    echo "Type in your message..."
    
    MSG="$(perl -e'$_=<>,print')"
    
    echo -n "Sending..."
    RESULT=$(curl --basic --user $TUSER:$TPASS --data status="$MSG" http://twitter.com/statuses/update.xml 2> /dev/null | xsltproc $XSLPATH - | tail -n 1)
    
    if [ -n "$RESULT" ]; then
    echo "ok";
    else
    echo "Sending failed!";
    fi
    



    Не забываем также про файл ~/.twit/pass

    p.s. статья была переписана, т.к. изначально скрипт был, мягко говоря не оптимальным, что и было подмечено товарищем crash
    Поделиться публикацией

    Комментарии 4

      0
      но ведь есть в стандартном api ответ, если дошло нормально?
      apiwiki.twitter.com/REST+API+Documentation#statuses/update
        0
        Действительно, ступил… будем чинить
          0
          Хочу задать вам два вопроса:
          1. Нельзя ли как нибудь не хранить plain text пароли, а передавать сразу же хэш?
          2. Мне вот очень хочется иметь джаббер бота, что бы постить на твиттер. Но так и не нашел готовых сервисов для решения этой проблемы. Вы не в курсе, что нибудь такое уже есть?
            0
            1 — можно, но схема будет сложней, сейчас твиттер внедряет протокол oauth — можно с его помощью
            2 — мне еще не попадались

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

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