:::: MENU ::::

quarta-feira, 29 de julho de 2009

Quando eu vi a dica do Rafael para postar no twitter via terminal 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, por questões óbvias:

$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 o arquivo do seu script!

$ vim twibash.sh

Script

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

# 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

Salve o arquivo e execute da seguinte maneira:

$ sh twibash.sh MENSAGEM

Transformando em um script do sistema

Caso queira utilizar este script apenas chamando pelo seu nome, é simples: Primeiro, mova-o ou copie para um diretório que esteja na sua variável $PATH, como por exemplo, o diretório /usr/bin
$sudo cp twibash.sh /usr/bin/twibash

Agora basta apenas dar permissão de execução ao script

$sudo chmod +x twibash

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.


Essa dica pode ser encontrada também nesses locais:
http://pt.opensuse.org/Script-twiter
http://www.dicas-l.com.br/dicas-l/20090813.php
Categories: , ,

0 comentários:

Postar um comentário

Só não vale xingar a mãe ou puxar cabelo nos comentários =)

Posts populares