{"id":45,"date":"2009-02-18T04:01:50","date_gmt":"2009-02-18T02:01:50","guid":{"rendered":"http:\/\/www.blackhats.es\/wordpress\/?p=45"},"modified":"2022-08-20T18:26:12","modified_gmt":"2022-08-20T16:26:12","slug":"usando-erc-emacs-internet-relay-chat-en-emacs-para-irc","status":"publish","type":"post","link":"https:\/\/www.blackhats.es\/wordpress\/?p=45","title":{"rendered":"Usando ERC (Emacs internet Relay Chat) en Emacs para IRC"},"content":{"rendered":"<p>Como no, en <strong>emacs<\/strong> es posible conectar al irc. Existen distintos clientes entre ellos <strong>ERC<\/strong>, <strong>rcirc<\/strong>, <strong>riece<\/strong>&#8230; etc. Yo me centrar\u00e9 en el que m\u00e1s conozco, <strong>ERC<\/strong>. Adem\u00e1s, cualquiera de estos clientes podemos combinarlos con Bitlbee, que noe es mas que una pasarela <strong>IRC<\/strong> a servicios de mensajer\u00eda instant\u00e1nea como <strong>AIM<\/strong>, <strong>ICQ<\/strong>, <strong>MSN<\/strong>, <strong>Jabber<\/strong>, <strong>Yahoo<\/strong>, etc.<\/p>\n<p>En primer lugar podemos incluir en nuestro <strong>.emacs<\/strong> cierta informaci\u00f3n sobre a que red o canales conectar, as\u00ed como el nickname por defecto o su realname, que de momento voy a obviar.<\/p>\n<p>En primer lugar, si queremos ejecutar nuestro cliente de irc, podemos pulsar <strong>M-x erc<\/strong>, acto seguido se nos pedir\u00e1 cierta informaci\u00f3n (siempre que no se la hayamos proporcionado antes en nuestro <strong>.emacs<\/strong>).<\/p>\n<p>Se nos pedir\u00e1 el servidor al que queremos conectar, por defecto si no tenemos nada en nuestro <strong>.emacs<\/strong> mostrar\u00e1 <strong>irc.freenode.net<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"VERTICAL-ALIGN: middle\" src=\"https:\/\/www.blackhats.es\/wordpress\/wp-content\/uploads\/2009\/02\/erc1.png\" alt=\"\" width=\"571\" height=\"32\" \/><\/p>\n<p>Despu\u00e9s de esto, nos preguntar\u00e1 al <strong>puerto<\/strong> al que queremos conectar, que normalmente ser\u00e1 el <strong>6667<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"VERTICAL-ALIGN: text-bottom\" src=\"https:\/\/www.blackhats.es\/wordpress\/wp-content\/uploads\/2009\/02\/erc2.png\" alt=\"\" width=\"567\" height=\"36\" \/><\/p>\n<p>nick queremos conectar, en mi caso <strong>overdrive<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"VERTICAL-ALIGN: top\" src=\"https:\/\/www.blackhats.es\/wordpress\/wp-content\/uploads\/2009\/02\/erc3.png\" alt=\"\" width=\"570\" height=\"34\" \/><\/p>\n<p>Y por \u00faltimo la contrase\u00f1a asociada (en caso de que estemos registrados en dicho servidor de irc), sin\u00f3 tan s\u00f3lo deberemos pulsar <strong>intro<\/strong>. Adem\u00e1s, busca autenticarse con <strong>nickserv <\/strong>que es t\u00edpico de la mayor\u00eda de servidores conocidos como <strong>freenode <\/strong>o <strong>kernelnewbies<\/strong>, sin embargo otros como por ejemplo hispano usan <strong>nick<\/strong>, por lo que no se autenticar\u00e1, y deberemos hacerlo nosotros a mano una vez conectados o bien buscar alguna soluci\u00f3n alternativa m\u00e1s elegante.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.blackhats.es\/wordpress\/wp-content\/uploads\/2009\/02\/erc4.png\" alt=\"\" \/><\/p>\n<p>Como podemos ver, los car\u00e1cteres no ser\u00e1n mostrados. Una vez estemos conectados veremos el <strong>prompt<\/strong> de<strong> ERC<\/strong> para Emacs, que es <strong>ERC&gt;<\/strong> y es aqu\u00ed donde debemos escribir texto y\/o comandos. Digamos que por defecto estamos en la ventana equivalente al <strong>&#8216;status&#8217;<\/strong>, que muestra informaci\u00f3n relacionada con la conexi\u00b4on del servidor y demas, tan s\u00f3lo debemos escribir <span style=\"color: #ff6600;\">\/join #canal<\/span> o <span style=\"color: #ff6600;\">\/j #canal<\/span>, en mi caso suelo conectar a #emacs-es por lo que haremos <span style=\"color: #ff6600;\">\/j #emacs-es<\/span> y pulsaremos <strong>intro<\/strong> para entrar en el canal.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.blackhats.es\/wordpress\/wp-content\/uploads\/2009\/02\/erc5.png\" alt=\"\" \/><\/p>\n<p>Una vez estemos en el canal, ya podemos dirigirnos al canal hablando directamente (arriba nos indicar\u00e1 sobre que canal estamos, algo as\u00ed como <strong>&#8216;overdrive on #emacs-es&#8217;<\/strong>). Si queremos hablar por privado como bien sabr\u00e9is la mayor\u00eda deber\u00edamos pulsar <span style=\"color: #ff6600;\">\/query nick<\/span> o <span style=\"color: #ff6600;\">\/q nick<\/span>, por ejemplo en este caso nos servir\u00eda <span style=\"color: #ff6600;\">\/q Vejeta<\/span>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.blackhats.es\/wordpress\/wp-content\/uploads\/2009\/02\/erc6.png\" alt=\"\" \/><\/p>\n<p>Con <span style=\"color: #ff6600;\">\/names<\/span> o <span style=\"color: #ff6600;\">\/n<\/span> podemos listar la lista de nicks (la cual es mostrada tambi\u00e9n al entrar al canal, as\u00ed como el topic y alguna informaci\u00f3n m\u00e1s).<\/p>\n<p>Recordad que est\u00e1is en emacs, y que cada canal estar\u00e1 asociado a un buffer, as\u00ed que si estamos en varios canales simult\u00e1neamente tan s\u00f3lo debemos pulsar <strong>C-x b nombre_de_otro_buffer<\/strong>. Un keystroke que suele ayudar mucho, suele ser <strong>C-SPC<\/strong> (control + espacio) que permite ir saltando a cada buffer en el que se haya producido un evento.<\/p>\n<p>Por supuesto se puede emplear el autocompletion, tanto para buffers como para referirse a nicks o canales, por lo que es bastante \u00fatil, adem\u00e1s una vez hayamos terminado de hablar antes de salir, guardar un log ser\u00e1 tan simple como asociar dicho buffer a un fichero con<strong> C-x C-w<\/strong> o<strong> C-x C-s<\/strong>, aunque\u00a0existen otras formas\u00a0m\u00e1s correctas de hacer esto.\u00a0Para salir tan s\u00f3lo debemos pulsar \/quit.<\/p>\n<p>Por supuesto <strong>ERC<\/strong> es mucho m\u00e1s potente que todo esto, pero esto es lo b\u00e1sico para subsistir y poder estar de forma c\u00f3moda en dicho cliente.<\/p>\n<p>En nuestro <strong>.emacs<\/strong> deber\u00edamos al menos a\u00f1adir estas l\u00edneas:<\/p>\n<p style=\"padding-left: 30px;\"><em>(require &#8216;erc)<\/em><\/p>\n<p style=\"padding-left: 30px;\"><em>(setq erc-server \u00abirc.freenode.net\u00bb<br \/>\nerc-port 6667<br \/>\nerc-nick \u00aboverdrive\u00bb<br \/>\nerc-user-full-name overdrive<br \/>\nerc-email-userid \u00aboverdrive\u00bb<br \/>\nerc-prompt-for-password nil)<\/em><\/p>\n<p>Para mas informaci\u00f3n sobre ERC pod\u00e9is mirar las siguientes urls:<\/p>\n<p>P\u00e1gina principal de ERC en emacswiki:<\/p>\n<p><span style=\"text-decoration: underline;\"><span style=\"color: #0000ff;\"><a href=\"http:\/\/www.emacswiki.org\/emacs\/ERC\">http:\/\/www.emacswiki.org\/emacs\/ERC<\/a><\/span><\/span><a href=\"http:\/\/www.emacswiki.org\/emacs\/?action=browse;oldid=EmacsIRCClient;id=ERC\"><\/a><\/p>\n<p>P\u00e1gina principal de clientes de IRC y configuraciones en emacswiki:<\/p>\n<p><a href=\"http:\/\/www.emacswiki.org\/emacs\/CategoryChatClient\">http:\/\/www.emacswiki.org\/emacs\/CategoryChatClient<\/a><\/p>\n<p>Os dar\u00e9is 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\u00fa 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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como no, en emacs es posible conectar al irc. Existen distintos clientes entre ellos ERC, rcirc, riece&#8230; etc. Yo me centrar\u00e9 en el que m\u00e1s conozco, ERC. Adem\u00e1s, cualquiera de estos clientes podemos combinarlos con Bitlbee, que noe es mas que una pasarela IRC a servicios de mensajer\u00eda instant\u00e1nea como AIM, ICQ, MSN, Jabber, Yahoo, [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[8,62,65,63,64],"class_list":["post-45","post","type-post","status-publish","format-standard","hentry","category-basic","tag-emacs","tag-erc","tag-freenode","tag-irc","tag-riece"],"_links":{"self":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/45"}],"collection":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=45"}],"version-history":[{"count":1,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/45\/revisions"}],"predecessor-version":[{"id":789,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/45\/revisions\/789"}],"wp:attachment":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}