Datos del producto
Nombre:Ponga un TwitterBot en su vida … por Ilion
Datos de la revisión
Revisado por:Gerard Serra (Ilion)
Fecha revisión:30 de diciembre de 2014

Motivado por ayudar, aprender y cazar algún punto para el sorteo que queda, me he decido a aceptar el reto de crear un robot para twitter que sea capaz de entender comandos y responder a ellos.

Lo hice en un rato en un Ubuntu que uso para trastear y casi que me ha costado más adaptarlo para que funcione en el Raspberry que el script en si mismo. He tenido que lidiar con temas de permisos, variables de entorno y demás, nada que root y unas rutas absolutas no solucionen 😉

PREPARANDO TWITTER

Empecemos con la preparación de twitter. De momento podemos hacerlo desde cualquier pc, no necesariamente desde el Raspberry Pi.

Lo primero que necesitamos son 2 cuentas de twitter, uno será el robot (receptor) y la otra puede ser la que ya tengamos que será quien dará las órdenes.

Una vez tengamos las dos cuentas funcionales (esto incluye poner nuestro número de teléfono en la cuenta robot para validar el perfil) nos autenticamos en twitter con la cuenta robot. Ahora abrimos esta página y creamos nuestra interfaz de aplicación para twitter.

Para ello le daremos un nombre (no debe de existir en twitter), una descripción, un sitio web (puede ser inventado pero incluyendo el “http://” p.ej: http://www.loquesea.com ), el parámetro callback url se puede dejar en blanco. Aceptamos y pulsamos el botón crear aplicación.

Una vez creada nuestra “puerta de entrada” a twitter se nos muestra una página con información sobre nuestra interfaz, debemos ir a la pestaña Permissions y seleccionar Read, Write and Access direct messages.

Luego vamos la pestaña Keys and Access Tokens, allí se encuentran las claves que luego necesitaremos. De momento minimizamos el navegador.

CONECTANDO EL RPi

Ahora sí encendemos el Raspberry Pi con nuestro raspbian y empezamos a instalar los paquetes que necesitamos. Recomiendo hacerlo desde el interfaz gráfico porque hay un paso que es más sencillo.

Si no usamos el interfaz gráfico normalmente con un startx lo tenemos arreglado.

Lo haremos “como los hombres de verdad” como root, como esto es una prueba de concepto y no un producto final nos los podemos permitir y nos quitará dolores de cabeza con permisos y demás.

El usuario root en Raspberry Pi es una cuenta de administrador sin restricciones. Por defecto, el acceso a esta cuenta esta deshabilitado por motivos de seguridad, de esa forma se evitan posibles destrozos accidentales…

Si no tenemos habilitado el usuario root abrimos el terminal y escribimos: sudo passwd root le asignamos una contraseña y listo (en caso de querer volver a deshabilitarlo pondremos

sudo passwd -l root .

Ahora si, ponemos su – introducimos el password de root y el sistema ya es nuestro al 100%.

INSTALANDO PAQUETES

Ahora a instalar paquetes: apt-get update && apt-get install ruby-dev curl

Una vez finalizado escribiremos: sudo gem install t y a esperar…

CONFIGURANDO «T»

Ahora ya tenemos todo lo necesario instalado, vamos a configurar «t» que es la aplicación sobre la que nos apoyaremos para crear nuestro robot.

Para configurarla con las claves de la interfaz que creamos anteriormente en twitter debemos escribir t authorize ( t authorize –display-uri si eres aún más hombre que root y lo estás haciendo por ssh). Seguiremos los pasos con paciencia y cuidado esperando a que se nos abra el navegador con la página de twitter para luego poner las claves que nos pide: la API key y la API secret.

Una vez introducidas se nos abrirá otra página donde se nos pide acceso y una vez concedido nos dará el pin. Cuando lo introduzcamos ya estaremos casi listos…

Ahora os pongo mi pequeño script que será el que contenga las órdenes que nuestro robot entenderá. No es gran cosa, pero es fácilmente modificable y ampliable.

lo guardamos por ejemplo en /Home/pi/twitterbot/twitterbot y le damos permisos de ejecución con chmod +x /home/pi/twitterbot/twitterbot.

Preparamos a twitterbot para su primer inicio ejecutándolo con el parámetro ini:

cd /home/pi/twitterbot/
./twitterbot ini

Ya podemos hacer nuestras pruebas!

PROBANDOLO

Para ello desde nuestra cuenta de twitter emisora enviamos un mensaje privado al robot con el texto ayuda. Luego desde el terminal del raspberry ejecutamos ./twitterbot y recibiremos un mensaje de nuestro robot.

AUTOMATIZANDO NUESTRO ROBOT

Sólo nos falta automatizarlo. Para ello usaremos cron escribiremos crontab -e en el terminal.

Se nos abrirá el programador de tareas en el que añadiremos el script twitterbot para que se ejecute cada minuto. Para ello añadiremos al final del fichero esta línea:

* * * * * /home/pi/twitterbot/twitterbot >>/home/pi/twitterbot/log.txt 2>/home/pi/twitterbot/error.txt

Para ver si se ejecuta podemos ver los ficheros log.txt error.txt y /var/log/syslog

Quien no tiene un robot en twitter para que le diga la hora es porque no quiere… 😉

Gerard

Lo libero bajo licencia GPL en primicia para pcdemano 😉

498
Suscribirse
Notificación
0 Comments
Inline Feedbacks
Ver todos los comentarios
0
¡Aquí puedes dejar tus comentarios!x