Usa Bash para Irssi

Usa Bash para Irssi

Muy bien, estoy escribiendo un script de shell para abrir Irssi y luego conectarme automáticamente a freenode. ¿Debo editar el archivo en ~/.irssi/config o hay alguna manera de simular que escribo /connect irc.freenode.net? He usado echo, send y expect pero no ha funcionado. Aquí está el código que tengo hasta ahora.

irssi
echo "/connect irc.freenode.net"

Respuesta1

irssi proporciona un -cinterruptor que le permite especificar un servidor al que conectarse cuando se inicia la aplicación. Depágina de manual de irssi:

-c, --connect=SERVER
    connects to SERVER

Entonces, podrías usar cualquiera de estos:

$ irssi -c irc.freenode.net
$ irssi --connect=irc.freenode.net
$ irssi --connect irc.freenode.net

La razón por la que echono funciona es porque no está conectado a la entrada estándar de irssi. Básicamente lo que sucede es:

  • Inicias irssi, te conectas a un servidor, charlas un poco y te vas.
  • Una vez que se cierre irssi (su proceso finaliza), echose imprimirá su texto.

Obtendrás el mismo resultado si utilizas:

$ irssi ; echo "Hello"

Ahora, en lo que expecta mí respecta, esto probablemente se deba al hecho de que irssi es un cliente basado en ncurses. Dado que ncurses redefine la forma en que se manipulan la entrada y la salida, es muy probable que expectno pueda comunicarse con el proceso de todos modos. Además, no hay nada que esperar stdoutespecíficamente, ya que irssi envía muchas cosas en ese flujo:

  • Un encabezado azul.
  • Algunas líneas en blanco, algunas con texto si usó -c(registro de conexión).
  • Otra línea azul con algo de texto.
  • Un simbolo.
  • ...

Y no sólo:

[(status)] _

A lo que podrías responder con:

/connect irc.freenode.net

información relacionada