irssi Intant Relay Chat Client config
Hm!! Comencemos por hablar de que irssi trata “todo” a nivel de window, eso supone una gran ventaja, pues podemos tratar el flujo de datos proviniente de conexiones a canales de uno o varios servidores de irc a través de un sólo cliente, por ello podemos colocar dicha información en un canal, varios, etc, aparte de una parametrización muy potente.
Primerísimo, la ayuda que ofrece tanto la interface de irssi como la documentación que se encuentra en su home http://www.irssi.org “Documentation y Wiki”, es buena, buenísima :D.
Para invocar ayuda desde la interface
/help <- Lista de los comandos
/help comandos <- Ayuda de comandos
Vamos a definir nuestro usuario a partir de la consola de irssi:
/set nick foo
/set alternate_nick bar
/set user_name user
/set real_name user foo
/save
Podemos querer agregar unos servidor a redes distintas.
/help server
/server add -4 -auto -ircnet hispano atreides.irc-hispano.org 6667
/server add -4 -auto -ircnet freenode irc.freenode.org 6667
-4 -> ipv4
-auto -> conexión automática arranque irssi
-ircnet name -> si no existe creamos un grupo de servidores con el nombre name, address al mismo grupo. ircnet1 = hispano
ircnet2 = freenode
address -> servidor
port -> puerto
Ya puesto porque nó … meter unos canales en el autojoin
/channel add -auto #irssi hispano
/channel add -auto #linux_novatos hispano
/channel add -noauto #irssi freenode
/channel list
Una vez realizados los cambios oportunos, llega el momento de la conexión…
al haber configurado como -auto, a los dos registros de servidores se conectará
automáticamente en el siguiente arranque del cliente, en su defecto con -noauto lo desactivaremos y conectaremos de la siguiente forma :
/help connect
/help ircnets <- Administra las redes
/ircnets <- Nos Dá la lista de redes disponibles
/connect hispano
/connect freenode
Esperamos el tiempo oportuno de conexión….zzZZzz et voila!
A partir de ahora identificaremos cada conexion con una id que servira a partir
de tags identificar cada conexión.
ircd hispano -> hispano
ircd freenode -> freenode
De tal forma que los comandos normales /msg /join, etc.. necesitan agregarle un tag
para distinguir cada conexión
/join -hispano #irssi
/join -freenode #irssi
Puede que te preguntes como cambiar de un canal a otro de forma de sencilla, eso es
muy sencillo pulsa, ESC + ID=canal, ID=canal es el numero identificador del mismo,
eso ó /window goto ID=canal , /window goto ID=nick.
/cycle -freenode #irssi
/part -hispano #irssi
/disconnect freenode
/reconnect hispano
/connect freenode
Si la acción se invoca desde un canal se pueden realizar las operaciones directamente
sin utilizar el tag identificativo.
:)
Hacemos un /save cada cierto tiempo para salvar la configuración :D
/help window
/window permite realizar operaciones con /privados y #canales, de tipo :
Alteración orden.
Logs.
Selección.
/window close <- cierra.
/wc 2 <- cierra la segunda.
/windown goto #number <- se trastala al privado/canal solicitado.
/windown goto #ID=#channel
/windown goto #ID=nick
/etc………..
Otro día busqué en “Themes” en la página oficial http://www.irssi.org, y me
descargué unos cuantos y luego los cargué en caliente.
Los file.themes los metí en ~/.irssi/, y luego desde el irssi los cargué con
/set theme file (sin el .theme).
Realmente existen muchos y muy wapos, así que pa gustos colores.
Luego como nó, me descague un par de Scripts de la página oficial, en concreto hddtemp.pl, loadavg.pl, il.pl y l33tmusic.pl y los copié a ~/.irssi/script/autorun/ y procedí a su carga.
loadavg.pl -> muestra la carga trabajo de los procesadores de la máquina.
hddtemp.pl -> muestra temp de los hd.
il.pl -> cuenta los caracteres por línea.
l33tmusic.pl -> controla xmms.
/help script
/script load loadavg
/script load hddtemp
/script load il
/script load l33tmusic
y venga a ponerlos a andar.. los scripts tienen requirimientos funcionales, para ello se puede consultar en el código del propio script o consultando directamente con su autor a partir del correo.
loadavg.pl -> necesita acceder al fichero /proc/loadavg
hddtemp.pl -> necesita que hddtemp corra en modo “daemon” escupiendo datos de cada disco duro.
l33tmusic.pl -> necesita tener instalas las librería “libxmms-perl”, www.cpan.org.
Los scripts pueden requerir de una interactuación para invocar un evento determinado a partir de un /comando que a su vez produce un evento en el window que tenga predeterminado; otros corren cíclicamente ofreciendo información contínuamente, estos necesitan acoplarse en alguna zona de las que está compuesto el “screen” de irssi, en concreto sus autores en el código recomiendan que se coloquen en una “statusbar” en concreto y por defecto.
De todas formas comprobad la documentación del script embebida en el código para aseguraros de ¿Cómo? trabaja el script.
loadavg.pl -> new item on statusbar = loadavg
hddtemp.pl -> new item on statusbar = hddtemp
il.pl -> new item on statusbar = inputlength
l33tmusic.pl -> new item on statusbar = l33tmusic
Yo lo he hecho a mi manera xDDD :)
Bien, en estos momentos los colocamos y podemos utilizar las statusbar predifidas para colocar los nuevos items, loadavg ,hddtemp, li, l33tmusic, con alguna de las statusbar
que nos da la lista.
/help statusbar
/statusbar <- Lista statusbar
/statusbar topic add loadavg -> Agregamos a la barra “topic” el item “loadavg”
/statusbar topic add hddtemp
/statusbar prompt add inputlenght -> Agregamos a la barra “prompt” el item “inputlenght”
/statusbar root add l33tmusic
Otras operaciones :))
/statusbar window remove user -> Eliminamos de la barra “window” el item “user”
/statusbar window remove time
/statusbar topic add -before loadavg time
/statusbar topic add -after loadavg time
Aparte es necesario especificar ciertos parámetros con /set, para el correcto
funcionamiento de los scripts desde el irssi, como :
hddtemp.pl ->
/set hddtemp_hosts localhost (*aqui podrías poner otros host*)
/set hddtemp_ports 7634 (* y aquí otros puertos*)
/set hddtemp_threshold_green 35
/set hddtemp_threshold_red 45
l33tmusic.pl ->
/set l33tstatusbar $n ($p / $t)
/set l33tstringplayingmpg123 is listening to
/set l33tctcpreply I’m listening to $n ($p / $t) Status: $s
/set l33tmiddlethingie ***
/set l33tstringaction /me
/set l33ttrigger_enabled OFF
/set l33tctcp_enabled OFF
/set l33tstatusbarrefresh 500
/set l33tstringplaying is listening to
/set l33twarning_read ON
/set l33tstringsongformat $n ($p / $t)
/set l33ttrigger ¡yourtriggerhere
ya debería estar funcionando y para el próxima carga de tu irssi ya deberían de cargarse
automáticamente :)
Para controlar l33tmusic, se utiliza la invocación /l33tmusic
Modos… :
/help
/l33tmusic -c / play
/l33tmusic -c / pause
…
/save Oh!
Otros Scripts que tengo funcionando son :
irssiBlaster, idletime, idlesince, joininfo, ppl, ls, tracknick, target, nickmix_pasky, sysinfo_dj, autorejoinpunish, auto_whois, bandwidth, hddtemp, loadavg, thankop, rotator
Jugueteando otro día con irssi y su configuración me dió por intentar saber ¿Cómo? eliminar
los mensajes de QUITS, JOINS y PARTS por ejemplo.. trás mucho rebuscar al final chateando encontré la forma.. resulta muy simple
/help ignore
/ignore #channel * -ALL +JOINS +PARTS +QUITS
Con -ALL eliminamos todas las restricciones del level del channel (/help level) y a
posteiori ignoramos con + específicamente aquellas que nos molestan como son los joins,
quits, y parts.
Si hacemos un /set, veremos las opciones por defecto que toma nuestro irssi, algunas de
ellas requerirán en un momento dado el reinicio de irssi pues el cambio no toma valor hasta
la siguiente carga del programa.
Algunos otros cambios que le he rehalizado …
[lookandfeel]
/set show_names_on_join OFF <- oculta las lista de nick
/set mirc_blink_fix ON <- elimina el blink de texto del mirc
/set hide_text_style OFF <- elimina colores, negrita
/set use_status_window OFF <- los mensajes se redirigen al canal activo.
[log]
/set autolog ON <- Logging
/set autolog_path ~/irclogs/$tag/$0.log
/set awaylog_level msgs hilight
/set awaylog_file ~/.irssi/away.log
/set autolog_level ALL -CRAP -CLIENTCRAP -CTCPS -NOTICES -SNOTES -TOPICS -INVITES -JOINS -PARTS -QUITS -MODES
[dcc]
/set dcc_autorename ON
/set dcc_autoresume ON
/set dcc_download_path = ~/ircdownloads
/set dcc_upload_path = ~/ircdownloads
Irssi también se puede comportar como intérprete de shell a través de /exec, así a veces puede interesarnos invocar la ejecución de un programa/script y rediridir la salida del mismo a un canal, privado, etc.
/help exec
Con /exec obtendrás la lista de procesos o tareas que tengas corriendo
/exec -out ls -la /tmp
/exec -out uname -a
/exec -out uptime
/exec -out -name mbmontag sudo mbmon
/exec -out -name tailname tail -f /path/to/log
Si el proceso/script corre cíclicamente, podemos abortar la ejecución del
mismo con
/exec -term mbmontag
un /clear y ale xD
Y si quieres mover una tarea identificada por -name a otro canal, con
/exec -window -name tailname, trasladarás al canal activo la salida.
/save :))