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 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 más, aquí está el script:

01 #!/bin/bash
02
03 # Este es un script muy simple para poder twittear desde nuestra consola
04 # en GNU/Linux, usted es totalmente libre de modificarlo a su gusto.
05 # Toda sugerencia puede hacerla a fportales(arroba)ymail(punto)com
06
07 echo 'Vamos a Twittear :B'
08
09 echo 'Por favor ingrese su username:'
10 read username
11
12 # ingresar el tweet
13 echo 'Ingrese su tweet :D'
14 read tweet
15
16 flag0=${#tweet}
17 echo 'Ha escrito: '$flag0' caracteres' # número de caracteres del tweet
18
19 # si sobrepasamos los 140 caracteres, deja de ejecutarse D:
20 if [ $flag0 -ge 140 ]; then
21 echo 'Stop! has sobrepasado el límite de caracteres :('
22 exit
23 else
24 echo 'La cantidad de caracteres es correcta, continuemos :)'
25 fi
26
27 # El siguiente bloque pide la contraseña del usuario
28 echo 'Por favor ingrese su password:'
29 # Algoritmo para ocultar la contraseña
30 # Primero guardamos en una variable la configuración de la terminal
31 config_o=`stty -g`
32 # Sacamos el echo de la consola (no se ve lo que ingresamos)
33 stty -echo
34 # guardemos la pass en una variable
35 read password
36 # devolver la terminal en el estado anterior
37 stty $config_o
38 # el algoritmo pueden encontrarlo en:
39 # http://www.mail-archive.com/programacion@lugro.org.ar/msg00124.html
40
41 echo 'Actualizando...' # ¿se necesita más explicación?
42
43 # Sacamos el echo de la consola para no ver la salida, esta se guarda
44 stty -echo
45
46 # Envío de la actualización, se guarda la salida en el archivo 'resultado.txt'
47 curl -u "$username":"$password" -d status="$tweet" http://twitter.com/statuses/update.xml > resultado.txt
48
49 # devolver la terminal en el estado anterior
50 stty $config_o
51
52 # busca cierta cadena dentro del archivo 'resultado.txt'
53 evaluacion=`egrep "Could not authenticate you" resultado.txt`
54 flag1=${#evaluacion}
55 if [ $flag1 == 44 ]; then
56 echo 'No se ha podido autenticar. Inténtelo nuevamente.'
57 else
58 echo '¡Éxito!'
59 fi
60
61 # ya no tiene sentido mantener el archivo resultados.txt, así que se elimina
62 rm resultado.txt
63
64 echo 'Gracias por usar este script, si le gustó, por favor, siga a @fportales :D'
65
66 ## 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😀

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

Fuente: http://www.glatelier.org/

Publicado en Tics. Leave a Comment »

Responder

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

A %d blogueros les gusta esto: