Destacada para mensajeríaEstos días me estuve preguntando si habría nuevos clientes de IRC disponibles para GNU/Linux. En el universo linuxero los clientes IRC estrella siempre fueron irssi y XChat. ¡Cuál fue mi sorpresa al toparme con WeeChat! Un cliente IRC cuya popularidad va en aumento y no es raro si nos fijamos bien en su diseño: Es una aplicación de terminal desarrollada en lenguaje C, por lo que su ejecución es rápida y ligera. Podemos usarlo, entre otros sistemas operativos, en GNU/Linux, Mac OS y Windows. El núcleo es el corazón de la aplicación y viene acompañado de diferentes plugins para agregarle nuevas funcionalidades como el corrector ortográfico o soporte para scripts en Python, entre otras. ¿Scripts? Sí, claro. ¡No todo iba a ser hacer plugins en C! Podemos extender la funcionalidad de WeeChat programando scripts en los lenguajes Guile (Scheme), JavaScript, Lua, Perl, PHP, Python, Ruby y Tcl.

En Ubuntu Linux se puede instalar directamente desde los repositorios de la distribución:

$ sudo apt-get install weechat

Weechat logotypeEl core simplemente muestra texto en pantalla e interactúa con el usuario. El soporte para los distintos protocolos de red se añade a través de plugins donde el de IRC ya viene incluido con la instalación. Podemos listar los plugins instalados de la siguiente manera:

/plugin
│09:47:15 | Plugins loaded:
│09:47:15 |   aspell: Spell checker for input (with Aspell)
│09:47:15 |   logger: Log buffers to files
│09:47:15 |   fifo: FIFO pipe for remote control
│09:47:15 |   xfer: DCC file transfer and direct chat
│09:47:15 |   exec: Execution of external commands in WeeChat
│09:47:15 |   charset: Charset conversions
│09:47:15 |   ruby: Support of ruby scripts
│09:47:15 |   tcl: Support of tcl scripts
│09:47:15 |   script: Scripts manager
│09:47:15 |   lua: Support of lua scripts
│09:47:15 |   relay: Relay WeeChat data to remote application (irc/weechat protocols)
│09:47:15 |   buflist: Buffers list
│09:47:15 |   python: Support of python scripts
│09:47:15 |   irc: IRC (Internet Relay Chat) protocol
│09:47:15 |   alias: Alias commands
│09:47:15 |   guile: Support of scheme scripts (with Guile)
│09:47:15 |   perl: Support of perl scripts
│09:47:15 |   trigger: Text replacement and command execution on events triggered by WeeChat/plugins

Acabamos de comprobar que nuestro WeeChat ya tiene soporte para IRC, así que añadamos el primer servidor al que nos conectaremos. Usaremos freenode, el buque insignia para alojar los canales de chat para los proyectos de software libre:

/server add freenode chat.freenode.net

Si queremos mantener una comunicación cifrada usando SSL:

/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on

Si queremos que WeeChat se conecte a freenode automáticamente al iniciarse:

/set irc.server.freenode.autoconnect on

Ahora configuramos:

  • nicks: Los nicknames que usaremos en orden de preferencia.
  • username: Parte user del hostmask. Ejemplo de hostmask: nick!user@host
  • realname: La respuesta que un usuario recibirá cuando ejecute whois contra nuestro nick.
/set irc.server.freenode.nicks "joseba,josebamartos,jmartos"
/set irc.server.freenode.username "joseba"
/set irc.server.freenode.realname "Joseba Martos"

WeeChat puede ejecutar comandos contra el servidor IRC de forma automática nada más conectarse al servidor. Si nuestro nick está registrado, podemos aprovechar para que WeeChat realice la autenticación automaticamente:

/set irc.server.freenode.command "/msg nickserv identify contraseña"

Lo básico ya está configurado. Nos conectamos a freenode:

/connect freenode

Una vez conectados al servidor, podemos trabajar con él usando los comandos de IRC.

Finalmente, para desconectarnos del servidor:

/disconnect

O si queremos desconectarnos y cerrar WeeChat al mismo tiempo:

/quit

Esta entrada está basada en WeeChat quick start guide, guía que forma parte de la documentación oficial de WeeChat, que por cierto, es muy completa.

Chatea por terminal con WeeChat
Etiquetado en:            

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.