Nótame es la última novedad de menéame. Consiste en una sección en la que los usuarios podemos poner notas con lo que nos de la gana, esas notas son públicas para todos. Muy al estilo de twritter.

Una de sus cualidades más interesantes en su integración con la red Jabber, gracias a ella es posible enviar mensajes al nótame desde tu cliente de mensajería (Gtalk o Gaim por poner dos ejemplos de clientes Jabber). No solo puedes enviar mensajes desde el programa de mensajería sino que automáticamente recibirás las notas tus amigos en él.

El protocolo Jabber de mensajería instantánea es un protocolo totalmente libre, basado en XML. Los clientes que lo soportan no escasean precisamente, hay para todos los gustos y colores (para windows, linux, mac, basados en un programa, en una web, …)

Aprovechando el hecho de que nótame soporta el protocolo Jabber he decidido crear un pequeño juguetito para probar sus capacidades y para aprender un poco más sobre Jabber.

Se trata de un pequeño bot que inserta notas con citas celebres automáticamente en nótame. Es decir, sin que yo intervenga para nada en el proceso.

botnotame.png


El objetivo a conseguir era un programa que se bajase las citas de internet, las guardase en una base de datos y las fuese enviando poco a poco al nótame (actualmente está configurado para que envíe una cita cada 4 horas).

La primera parte es fácil de conseguir, tirando de RSS y con la ayuda de las librerías MagpieRSS he creado un pequeño programa que se descarga el contenido del feed de este blog, saca las citas y las almacena en un pequeña tabla de una base de datos mysql.

La segunda parte, para mi la más interesante y novedosa, ha sido crear el bot propiamente dicho.

Un programa que se conecta a la red jabber como un usuario más, envía un mensaje a nótame y se desconecta.

He usado la librería class.jabber.php ya que así me ahorra todo el trabajo de tener que trabajar directamente yo con el xml, esta clase ya tiene funciones para trabajar con el protocolo Jabber (conectarte, enviar mensajes, recibirlos, … )

Una vez terminado el trabajo (con más inconvenientes de la cuenta: codificaciones raras, versiones hackeadas y no de la librería, … agusti sabe de lo que hablo. Pobre el coñazo que le he dado todo el dia) toca probarlo.

Para usar el bot se requiere una cuenta de Jabber.
Fácil, voy a jabberes.org y me creo una cuenta para dicho fin. Ahora me creo una cuenta en meneame solo para el bot, por no usar la mia personal obviamente, y la emparejo con la cuenta de jabber que he creado (esto es muy fácil, simplemente poner la dirección de la cuenta de jabber en el campo IM/email del péfil de meneame).

Ya estamos más cerca, abro sesión con la cuenta nueva de Jabber en Gaim, añado al bot de nótame notas@notame.com como amigo (esto se podía haber hecho desde el propio bot, pero probé y la función o no iba bien o no supe como usarla correctamente ).

Todo listo, ya está el bot funcionando, ahora funciona cuando lo llamo yo manualmente. Esto se arregla mediante cron, subo los programas a un servidor y programo el crontab para su ejecución.

Una vez hecho todo esto (que no es poco) ya tenemos un “ente” con vida propia que se dedica a amargar la vida a los meneantes con sus citas. :-P
Si además quieres recibir sus citas en tu programa de mensajería solo tiene que añadirlo como amigo.

-Bueno vale, basta te rollos, yo lo que quiero es el código para spamear mandar mensajes al menéame.

Me estoy pensando si liberar el código o no hacerlo. Por una sencilla razón, no quiero que se convierta en una carga o una molestia para el nótame si empiezan a crearse bots masivamente.

Para mi ha sido un ejercicio de programación y un acercamiento al protocolo Jabber más que otra cosa. Aunque no niego que se me ocurren más de una idea para el nótame y bots ;)

Probablemente lo libere, antes tengo que darle un mirón al código para ponerlo guapo :D

Technorati Tags: , , , , , ,