domingo, enero 29, 2006

Creando 'bots' para Google Talk

Desde que hace unos días la red de 'Google Talk' se conectase con el resto de las redes XMPP de Internet, han sido numerosos los desarrolladores que han creado diferentes robots que simulan ser personas conectadas a esta red de Mensajería Instantánea.

Como XMPP se basa en estándares abiertos, es fácil crearlos, y no con la finalidad de que estos bots hablen con nosotros, sino para que nos muestren información útil.

Por ejemplo, utilizando una librería que permita comunicarnos con Jabber/XMPP, podemos crear un 'bot' que 'hable' (mediante XMPP) con otro usuario y, a la vez, 'hable' (mediante una API) con otras aplicaciones como el buscador de Google (API), el de Yahoo! (API) o Flickr (API). O, si tenemos acceso a una base de datos, poder proporcionar esta información a otros usuarios a través de Jabber. O, simplemente, un robot que conteste determinadas respuestas ante ciertas preguntas.

Así, podemos crear un bot al que le pidamos que nos muestre las últimos fotos de Flickr sobre un determinado tema, que ofrezca en tiempo real los últimos posts de nuestro blog, o que ofrezca la temperatura de nuestra ciudad.

También podemos crear un sistema que indique nuestro estado en 'Google Talk' a través de código HTML a través del bot 'Edgard'. Por ejemplo, nuestro estado actual es: (bombilla apagada o encendida). Puedes añadir esta imagen en cualquier página web (foro de discusión, blog, etc) simplemente incluyendo una línea de HTML.

Otros ejemplos son el bot de 'Epigoon Maps' (que indica la posición geográfica de cada usuario), los dos que nos cuenta Cyberfrancis en Genbeta, el Jmonitor (temperatura en Sevilla) o el de 'Indeed' (ofertas de empleo en EEUU). Para todos ellos, es necesario primero añadir al bot como nuestro contacto, con el objeto de que detecte nuestra presencia.

Si quieres lanzarte a desarrollar tus propios bots, aquí tienes una serie de librerías para comunicarte vía XMPP: Class.Jabber.PHP, xmpppy (Python), JPB (Perl), Net::XMPP (Ruby), gloox (C++) o Iris (Qt/C++).

No hay comentarios.:

Publicar un comentario