Programando scripts para XChat
|
|
Por Ariel
departamento ya-verán-esos-del-ircap , Sección Desarrolladores Puesto a las Mon Apr 14th, 2003 at 09:49:13 AM CET
|
 |
Para aquellos que sean aficionados al irc, ya sea en irc.escomposlinux.org, en la red IRC-Hispano o en cualquier otro lugar y sean usuarios de XChat, quizá este artículo les anime a escribir algún script para hacer más útil XChat. En los clientes de IRC de windows habituales hay toneladas de addons y pijadillas que gustan a mucha gente como trivial, juegos, auto-responses y muchos más. Todo esto es posible en XChat y aunque de inicio viene "pelao" en su página podemos encontrar (aunque *muy* desordenados) cientos de scripts para equiparnos un poco más.
Este artículo es para aquellos que quieran aprender cómo hacer de XChat un compañero más útil.
|
Con la salida de XChat 2.0, aparecieron nuevas posibilidades en cuanto a programar scripts. Anteriormente sólo existía un plugin-interface para Perl y C. Ahora además, lo tienes en Python y TCL. Puedes consultarlo aquí. Voy a referirme a Python ya que es el lenguaje que mejor conozco y es el más claro para aquellos que no lo conocen (si no sabes Perl, y te enseñan un trozo de código te mareas. El de Python al menos se deja leer).
Ante todo, para ejecutar nuestros scripts tendremos que tener instalado el paquete xchat-python* (o xchat-perl o xchat-tcl, depende). Puede descargarse precompilado de la página oficial. Una vez lo tengamos lo primero es leerse la documentación del plugin-interface para Python, que puede encontrarse aquí. Es bastante clara y tiene algunos ejemplos, pero como siempre, la documentación no es suficiente. Uno puede leerse 5 libros de C y no sabrá C. Lo mejor para aprender es leer la documentación, mirar código y escribir código. En el mundo del soft libre tenemos código para dar y tomar así que vamos a ello.
Yo bajé un par de scripts de los escritos de en Python de aquí. En concreto, el onion script y el Spike. No es que fueran gran cosa, pero como ejemplos sencillos me resultan muy útiles. Una vez armado con documentación y ejemplos es sencillo el resto. En mi caso programé un script que efectúa búsquedas en google y muestra los resultados, algo bastante común y útil.
Veamos, para definir un nuevo comando, en nuestro script ha de aparecer:
xchat.hook_command("google", google, help='/google')
Eso significa que estamos creando un nuevo comando "google", que ejecutará la función google (no tienen por qué llamarse iguar). El último argumento hace referencia a lo que se mostrará si escribimos /help google. La función google hay que definirla de la manera que se detalla en la documentación sobre estas funciones. Sólo resaltar de este punto que el sistema de parámetros diseñado, hace muy sencillo recoger los argumentos que pasemos al script.
Si queremos obtener información sobre nuestro entorno las funciones
xchat.get_info("channel")
xchat.get_info("nick")
xchat.get_info("host")
proporcionan todo lo necesario. Si queremos enviar texto a un canal
xchat.command('msg %s Hola a tod@s:' % (canal))
haciendo notar que con xchat.command podemos hacer cualquier cosa simplemente sustituyendo msg por kick, join...
Puedes probar todo esto tecleando /py console en XChat.
Programar scripts es más sencillo de hacer que de explicar. Lo mejor es que mires el código de algunos y con la documentación a mano no tradrás en hacer algo bueno. Aquí puedes ver el código de Pyxgle, que puede ayudarte a empezar como otros me ayudaron a mí.
|
|
|