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:
- Instalar cURL, en Debian/Ubuntu esto se logra con
sudo aptitude update && sudo aptitude install curl
- 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.
- Guardarlo con un nombre cualquiera, a falta de originalidad lo guardé en la ruta
/home/fportales/twitter
- 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. - Escribimos
./twitter
y voilá! podemos empezar a twittear :D
También les dejo una demostración de lo amigable que es la «interfaz»
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
[…] This post was mentioned on Twitter by Pablo Olmos de A. C., Geeks & Linux!. Geeks & Linux! said: Blog: Twitteando desde nuestra consola con un simple Script http://bit.ly/56uypP […]
Me gustaMe gusta
Social comments and analytics for this post…
This post was mentioned on Twitter by PaBLoX: Blog: Twitteando desde nuestra consola con un simple Script http://bit.ly/56uypP…
Me gustaMe gusta
Pues en Ubuntu necesitas instalar curl -> apt://curl Y hay otras sugerencias, como integrar el username como argumento y que te pida nada mas la clave (al estilo mysql -u usuario -p en comandos), pero está muy entrete.
Me gustaMe gusta
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 gustaMe gusta
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 gustaMe gusta