Haciendo que nuestras «cosas conectadas a internet» tuiteen con TTYtter

twitter_internetDLC

Actualización: TTYtter ya no es soportado por su desarrollador, y por lo tanto ya no esta siendo actualizado, en su reemplazo tenemos a OYStter, pueden encontrar mas informacion en su sitio oficial en GitHub: https://github.com/oysttyer/oysttyer

TTYtter es un script escrito en Perl que permite mediante nuestra querida línea de comando enviar actualizaciones de estado a Twitter.

En un artículo anterior vimos como implementar algo similar con Twidge, pero una actualización de la Api de Twitter lo dejó sin funcionar, por lo que nos vimos en la necesidad de buscar un plan B para hacer que nuestras cosas tuiteen.

Terminada la explicación, manos a la obra.

Materiales

– Tiempo

– Algún artefacto que tenga corriendo Linux (Computador, Raspberry Pi, Beaglebone) en este ejemplo usaré un Raspberry Pi.

Procedimiento

1) Obtener una versión actualizada del script

El script se puede bajar de la pagina de sus desarrolladores http://www.floodgap.com/software/ttytter/ esta un poco desordenada, así que para que no tengan que leer todo y buscar donde se baja simplemente soliciten privilegios de super usuario y descarguen el script con las siguientes instrucciones

Privilegios de super usuario (deben ingresar su contraseña

root@raspberrypi:/home/pi $ sudo su -
[sudo] password for pi:

Descargar el script

root@raspberrypi:/home/pi# wget http://www.floodgap.com/software/ttytter/dist2/2.1.00.txt

Con esto descargarán el script de TTYtter en su dispositivo.

Deben renombrar el script , darle permisos de ejecucion y moverlo  a una ruta para que sea accedido por todos los usuarios del sistema

root@raspberrypi:/home/pi# mv 2.1.00.txt ttytter
root@raspberrypi:/home/pi# mv ttytter /usr/local/bin
root@raspberrypi:/home/pi# chmod a+x /usr/local/bin/ttytter

Con esto estamos listos para configurarlo

2) Configuración de TTYtter

Simplemente ejecuten ttytter y sigan las instrucciones, es importante que copien la dirección que les indica su script en su browser (ejemplo en rojo dentro del código de mas abajo), con esto solicitan una llave para la API de Twitter, deben ingresar a su cuenta de Twitter y Autorizar la aplicación, esto genera un numero que se entrega en la misma pagina web, deben copiar este PIN y entregárselo a TTYtter para que puedan actualizar estados desde su dispositivo

root@raspberrypi:/home/pi# ttytter
trying to find cURL ... /usr/bin/curl
-- Streaming API disabled (no -dostream) (TTYtter will use REST API only)
-- no version check performed (use /vcheck, or -vcheck to check on startup)

+----------------------------------------------------------------------------+
|| WELCOME TO TTYtter: Authorize TTYtter by signing into Twitter with OAuth ||
+----------------------------------------------------------------------------+
Looks like you're starting TTYtter for the first time, and/or creating a
keyfile. Welcome to the most user-hostile, highly obfuscated, spaghetti code
infested and obscenely obscure Twitter client that's out there. You'll love it.

TTYtter generates a keyfile that contains credentials for you, including your
access tokens. This needs to be done JUST ONCE. You can take this keyfile with
you to other systems. If you revoke TTYtter's access, you must remove the
keyfile and start again with a new token. You need to do this once per account
you use with TTYtter; only one account token can be stored per keyfile. If you
have multiple accounts, use -keyf=... to specify different keyfiles. KEEP THESE
FILES SECRET.

** This wizard will overwrite /root/.ttytterkey
Press RETURN/ENTER to continue or CTRL-C NOW! to abort.
Request from http://api.twitter.com/oauth/request_token ... SUCCEEDED!

1. Visit, in your browser, ALL ON ONE LINE,

https://api.twitter.com/oauth/authorize?oauth_token=JSjJAdja922AJJDaajhhjSADHDAjajs66a

2. If you are not already signed in, fill in your username and password.

3. Verify that TTYtter is the requesting application, and that its permissions
are as you expect (read your timeline, see who you follow and follow new
people, update your profile, post tweets on your behalf and access your
direct messages). IF THIS IS NOT CORRECT, PRESS CTRL-C NOW!

4. Click Authorize app.

5. A PIN will appear. Enter it below.

Enter PIN> 7828123

Request from http://api.twitter.com/oauth/access_token ... SUCCEEDED!
Written keyfile /root/.ttytterkey

Now, restart TTYtter to use this keyfile.
(To choose between multiple keyfiles other than the default .ttytterkey,
 tell TTYtter where the key is using -keyf=... .)

Luego de ingresar el PIN el TTYtter se re inicializa y están listos para probar su primer tuit desde su dispositivo.

root@raspberrypi:/home/pi# ttytter -status="Prueba de actualizacion de estado" -ssl

Al ejecutar este comando deberiamos ver algo como esto:

estado_tuiter_lineacomando

Ahora revisen su linea de tiempo en twitter y ahí estará el mensaje.

Es importante notar que TTYtter utiliza la aplicación curl para conectarse con la API de Twitter, si no la tienen instalada deben aplicar el conocido «sudo apt-get install curl».

Otro punto importante es el archivo .ttytterkey, en el se guardan las credenciales para poder tuitear con la cuenta que antes autorizaron. Como en este caso estábamos conectados como el usuario root de Linux este archivo queda en el directorio home para este usuario, o sea queda en /root/.ttytterkey

Con el método descrito pueden generar varios archivos .ttytterkey y renombrarlos para luego utilizarlos desde una misma cuenta Linux pero tuiteando con varios tuiter diferentes, utilizando el parametro -keyf para identificar el archivo de la llave (ttytterkey), ejemplo:

root@raspberrypi:/home/pi# ttytter -keyf=/home/pi/quakealarmcl -status="Sensor sismico activado #iot"
root@raspberrypi:/home/pi# ttytter -keyf=/home/pi/joniuz -status="Tuiteando desde mi RaspberryPi #iot"
root@raspberrypi:/home/pi# ttytter -keyf=/home/pi/internetdlc -status="Tuiteando desde la linea de comando con TTYtter #iot"

(Si se dan cuenta, les acabo de enseñar a generar TT simplemente registrando muchas cuentas tuiter y luego generando un script que las utilice con un hash tag como #iot, esto me recuerda a unos bots que tuiteaban por un político hace poco)

¿Que utilidad tiene tuitear desde la línea de comando? En los tutoriales que vienen utilizaremos esta aplicación para que nuestras cosas conectadas a internet tuiteen e interactuen con nosotros o con sus seguidores.

Author: joniuz

Ingeniero Civil Informático, Universidad de Santiago de Chile. Master of Professional Engineering University of Sydney. En Chile trabajó empresas de servicios internet y telcos como IBM, VTR y Entel. Le gusta la fotografía y el armado de drones, tiene estudios de violín, guitarra eléctrica y sintetizadores que enciende cuando tiene algo de tiempo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *