Pesquisar este blog

quinta-feira, 13 de agosto de 2009

Twittar via terminal v2

Twittar via terminal v2
=======================

Colaboração: Raul Libório

Data de Publicação: 13 de August de 2009

Quando eu vi a dica do Rafael para postar no
twitter via terminal (http://www.dicas-l.com.br/dicas-l/20090726.php)
eu gostei muito, mas vi que podia melhorar um pouco, ficando mais rápido
e fácil.

Bom, então é hora da brincadeira! Vamos ao script! =D

Primeiro vamos criar um arquivo que irá guardar o nosso login e senha.
Preferencialmente, crie dentro do seu home ($HOME) como um arquivo oculto
e que apenas VOCÊ tenha permissão de leitura:


$vim $HOME/.tw


Insira dentro do arquivo seu login e senha, cada um em uma linha. Cuidado
para não deixar espaços em branco, isso pode atrapalhar:


usuario
password

Altere as permissões desse novo arquivo:


$chmod 400 $HOME/.tw


Agora, crie seu script!


$ vim twibash.sh

## -- INICIO

#! /bin/bash
# Twittar via terminal
#
# Raul Liborio <>
# Agradecimento ao Rafael Kellermann Streit
# Script tambem disponivel em http://rauhmaru.blogspot.com/twibash

# FUNCIONAMENTO : Crie o arquivo em $HOME/.tw e na primeira
# : linha insira seu nome de usuario. Na
# : segunda linha insira a sua senha.
# : aplique um 'chmod 600' nesse arquivo para
# : apenas o seu usuario ter acesso de leitura
# VERSAO :
# 0.1 : Postagem no Twitter via terminal
# 0.2 : Contagem de caracteres

# ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# VARIAVEIS
ARQ="$HOME/.tw" # Arquivo onde estah login e senha
LOGIN=$( head -1 $ARQ ) # captura de login em arquivo $ARQ
PASS=$( tail -1 $ARQ ) # captura de senha em arquivo $ARQ
POST="$*" # Mensagem
POSTSIZE=$( echo $* | wc -m ) # Qtdade. de caracteres
SEND="Enviado com sucesso em $( date +"%x as %T" )" # Confirmacao de envio
URL="http://twitter.com/statuses/update.xml"
# -- MENSAGENS DE ERRO
# ERR 01 - FALHA NO ENVIO
ERR_FUNC="Deu erro =("
#ERR 02 - LIMITE DE CARACTERES EXCEDIDO
ERR_CHARLIMIT="\nLimite de 140 caracteres excedido. Reduza sua mensagem.\n"

# -- LIMITACAO DE CARACTERES (140)
[ $POSTSIZE -gt 140 ] && echo -e $ERR_CHARLIMIT && exit 1
# -- ENVIO DE MENSAGEM
curl -u $LOGIN:$PASS -d status="$POST" $URL > /dev/null
# --TRATAMENTO FINAL
[ $? -eq 0 ] && echo $SEND || echo $ERR

## -- FIM

Salve o arquivo e execute da seguinte maneira:


$ sh twibash.sh MENSAGEM



Observações importantes
=======================

- O script já contém uma regra de limite de caracteres, já que o limite do Twitter é 140.
- Ainda não há a conversão de links para short links, mas estou trabalhando nisso =)
- Alguns caracteres não são aceitos ('!', '(', '#' são alguns), por limitação
do bash, já que ele não aceita estes caracteres como parâmetros.

Fora essas pequenas observações, ainda não identifiquei nada de tão
relevante.

Nenhum comentário:

Postar um comentário