Twitteando desde nuestra consola con un simple Script

Empiezo este post con dos preguntas: ¿Cuantos hemos prendido el computador y lo hemos iniciado con GNU/Linux para descubrir que se cayó el entorno gráfico? ¬¬ si te ha pasado, ¿no has querido twittear: ‘FFFFFFFUUUUUUUU el servidor X c*gó :@’?, lamentablemente las causas de la primera situación son tan variadas, que no puedo darles una solución general :(, pero en cambio si puedo ayudarlos con la segunda :D.

PaBLoX ya nos ha mostrado TTYtter, una interfaz de consola script para interactuar con Twitter escrito en Perl, que parece se completísimo, dentro de las limitadas opciones visuales que tiene el intérprete de comandos, sin embargo me dio la tontera y quise programar un script que sirviera para únicamente enviar tweets a la twittosfera de manea rápida, sin que interfiera con el trabajo en la terminal, sin mas, aquí está el script:

#!/bin/bash

# Este es un script muy simple para poder twittear desde nuestra consola
# en GNU/Linux, usted es totalmente libre de modificarlo a su gusto.
# Toda sugerencia puede hacerla a fportales(arroba)ymail(punto)com

echo 'Vamos a Twittear :B'

echo 'Por favor ingrese su username:'
read username

# ingresar el tweet
echo 'Ingrese su tweet :D'
read tweet

flag0=${#tweet}
echo 'Ha escrito: '$flag0' caracteres' # número de caracteres del tweet

        # si sobrepasamos los 140 caracteres, deja de ejecutarse D:
        if [ $flag0 -ge 140 ]; then
                echo 'Stop! has sobrepasado el límite de caracteres :('
                exit
        else
        echo 'La cantidad de caracteres es correcta, continuemos :)'
        fi

# El siguiente bloque pide la contraseña del usuario
echo 'Por favor ingrese su password:'
        # Algoritmo para ocultar la contraseña
        # Primero guardamos en una variable la configuración de la terminal
        config_o=`stty -g`
        # Sacamos el echo de la consola (no se ve lo que ingresamos)
        stty -echo
        # guardemos la pass en una variable
        read password
        # devolver la terminal en el estado anterior
        stty $config_o
        # el algoritmo pueden encontrarlo en:
        # http://www.mail-archive.com/programacion@lugro.org.ar/msg00124.html

echo 'Actualizando...' # ¿se necesita más explicación?

        # Sacamos el echo de la consola para no ver la salida, esta se guarda
        stty -echo

# Envío de la actualización, se guarda la salida en el archivo 'resultado.txt'
curl -u "$username":"$password" -d status="$tweet" http://twitter.com/statuses/update.xml > resultado.txt

        # devolver la terminal en el estado anterior
        stty $config_o

# busca cierta cadena dentro del archivo 'resultado.txt'
evaluacion=`egrep "Could not authenticate you" resultado.txt`
flag1=${#evaluacion}
        if [ $flag1 == 44 ]; then
                echo 'No se ha podido autenticar. Inténtelo nuevamente.'
        else
                echo '¡Éxito!'
        fi

# ya no tiene sentido mantener el archivo resultados.txt, así que se elimina
rm resultado.txt

echo 'Gracias por usar este script, si le gustó, por favor, siga a @fportales :D'

## Fin del Script

Ahora paso a explicar como funciona xD.

Lo primero que se pide es el username, luego el tweet, si este supera los 140 caracteres, termina la ejecución del script, luego la password, si se preguntan el por qué la password al final, es porque se mide el largo del tweet, más que nada para proteger la privacidad del usuario, ya que la contraseña se esconde. Después de esto se envía la autentificación a la API de Twitter junto con el tweet, se muestra en pantalla el resumen de cURL y se notifica sobre el éxito o FAIL de la operación.

Estos son los pasos para su ejecución:

  1. Instalar cURL, en Debian/Ubuntu esto se logra con sudo aptitude update && sudo aptitude install curl
  2. Copiar el código que puse ahí arriba y pegarlo en un editor como kwrite o gedit. o si prefieren, pueden descargar este .tar.gz que tra dentro el script.
  3. Guardarlo con un nombre cualquiera, a falta de originalidad lo guardé en la ruta /home/fportales/twitter
  4. Darle permisos de ejecución, para esto abrimos una terminal navegamos con cd a la ruta donde está guardado y escribimos chmod +x twitter donde twitter es el nombre que le pusimos al archivo.
  5. Escribimos ./twitter y voilá! podemos empezar a twittear :D

También les dejo una demostración de lo amigable que es la “interfaz”

Una pequeña demostración del funcionamiento del script
Una pequeña demostración del funcionamiento del script

Aquí pueden comprobar que funciona el script! (si, el hostname es Lagrange). Ahora con este script podrán twittear el ‘FFFFFFFUUUUUUUU el servidor X c*gó :@’ cada vez que se les caiga el entorno gráfico, o en realidad twittear lo que les plazca xD. Antes de terminar, quisiera agradecer a @sebasak por haberme ayudado con las sentencias en Bash :D

5 thoughts on “Twitteando desde nuestra consola con un simple Script

  1. Twitteando desde la consola con un simple Script…

    Para los que han querido «twittear”:  «por la… buuuu el servidor X c*$ó :@ «  cuando se les ha caido el entorno gráfico de sus máquinas con Linux, les traigo como twittear por consola, así mismo como lo lees. PabloX ya nos ha mostrado TTYtt…

    Me gusta

  2. Twitteando desde la consola con un simple Script…

    Para los que han querido «twittear”:  «por la… buuuu el servidor X c*$ó :@ «  cuando se les ha caido el entorno gráfico de sus máquinas con Linux, les traigo como twittear por consola, así mismo como lo lees. PabloX ya nos ha mostrado TTYtt…

    Me gusta

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s