Feb 18 2009

Usando ERC (Emacs internet Relay Chat) en Emacs para IRC

Tag: basicoverdrive @ 4:01 am

Como no, en emacs es posible conectar al irc. Existen distintos clientes entre ellos ERC, rcirc, riece… etc. Yo me centraré en el que más conozco, ERC. Además, cualquiera de estos clientes podemos combinarlos con Bitlbee, que noe es mas que una pasarela IRC a servicios de mensajería instantánea como AIM, ICQ, MSN, Jabber, Yahoo, etc.

En primer lugar podemos incluir en nuestro .emacs cierta información sobre a que red o canales conectar, así como el nickname por defecto o su realname, que de momento voy a obviar.

En primer lugar, si queremos ejecutar nuestro cliente de irc, podemos pulsar M-x erc, acto seguido se nos pedirá cierta información (siempre que no se la hayamos proporcionado antes en nuestro .emacs).

Se nos pedirá el servidor al que queremos conectar, por defecto si no tenemos nada en nuestro .emacs mostrará irc.freenode.net

Después de esto, nos preguntará al puerto al que queremos conectar, que normalmente será el 6667.

nick queremos conectar, en mi caso overdrive

Y por último la contraseña asociada (en caso de que estemos registrados en dicho servidor de irc), sinó tan sólo deberemos pulsar intro. Además, busca autenticarse con nickserv que es típico de la mayoría de servidores conocidos como freenode o kernelnewbies, sin embargo otros como por ejemplo hispano usan nick, por lo que no se autenticará, y deberemos hacerlo nosotros a mano una vez conectados o bien buscar alguna solución alternativa más elegante.

Como podemos ver, los carácteres no serán mostrados. Una vez estemos conectados veremos el prompt de ERC para Emacs, que es ERC> y es aquí donde debemos escribir texto y/o comandos. Digamos que por defecto estamos en la ventana equivalente al ‘status’, que muestra información relacionada con la conexi´on del servidor y demas, tan sólo debemos escribir /join #canal o /j #canal, en mi caso suelo conectar a #emacs-es por lo que haremos /j #emacs-es y pulsaremos intro para entrar en el canal.

Una vez estemos en el canal, ya podemos dirigirnos al canal hablando directamente (arriba nos indicará sobre que canal estamos, algo así como ‘overdrive on #emacs-es’). Si queremos hablar por privado como bien sabréis la mayoría deberíamos pulsar /query nick o /q nick, por ejemplo en este caso nos serviría /q Vejeta.

Con /names o /n podemos listar la lista de nicks (la cual es mostrada también al entrar al canal, así como el topic y alguna información más).

Recordad que estáis en emacs, y que cada canal estará asociado a un buffer, así que si estamos en varios canales simultáneamente tan sólo debemos pulsar C-x b nombre_de_otro_buffer. Un keystroke que suele ayudar mucho, suele ser C-SPC (control + espacio) que permite ir saltando a cada buffer en el que se haya producido un evento.

Por supuesto se puede emplear el autocompletion, tanto para buffers como para referirse a nicks o canales, por lo que es bastante útil, además una vez hayamos terminado de hablar antes de salir, guardar un log será tan simple como asociar dicho buffer a un fichero con C-x C-w o C-x C-s, aunque existen otras formas más correctas de hacer esto. Para salir tan sólo debemos pulsar /quit.

Por supuesto ERC es mucho más potente que todo esto, pero esto es lo básico para subsistir y poder estar de forma cómoda en dicho cliente.

En nuestro .emacs deberíamos al menos añadir estas líneas:

(require ‘erc)

(setq erc-server «irc.freenode.net»
erc-port 6667
erc-nick «overdrive»
erc-user-full-name overdrive
erc-email-userid «overdrive»
erc-prompt-for-password nil)

Para mas información sobre ERC podéis mirar las siguientes urls:

Página principal de ERC en emacswiki:

http://www.emacswiki.org/emacs/ERC

Página principal de clientes de IRC y configuraciones en emacswiki:

http://www.emacswiki.org/emacs/CategoryChatClient

Os daréis cuenta que ERC esconde cosas muy curiosas, como la posibilidad de jugar al ajedrez en un buffer con tu colega de irc si dispone de erc como tú o bien la posibilidad de poder recoger ante cualquier evento cuando alguien hable por IRC y se sintetice por la tarjeta de sonido y se escuche en los altavoces todo lo que se vaya diciendo por irc.