BitchX

por | 8 diciembre, 2006

2. Comandos 1

La sintaxis del BitchX es

    BitchX [switches] [nickname] [server list]

Donde

    * nickname: el nick que vamos a tener.
    * server: la dirección del servidor al que nos vamos a conectar.
    * server list: más direcciones alternativas de servidores.
    * switches:
          o -H hostname: En el caso de estar en una máquina con varios aliases podemos usar otro, y no el que salga por defecto.
          o -c channel: el nombre del canal al que nos queremos conectar al entrar en el irc.
          o -b carga el archivo de configuración ($HOME/.bitchxrc) después de que nos hayamos conectado al servidor.
          o -p port puerto del servidor al que nos vamos a conectar.

Hay más comandos, (si los quieres consultar pon BitchX -?), pero estos son los principales.

Después de todo esto con poner BitchX novato irc.arrakis.es nos conectaremos al servidor de irc de arrakis con el nick novato y en el puerto 6667 (por defecto). Si quisiéramos conectarnos por el puerto 6668 pondríamos irc.arrakis.es:6668 ó irc.arrakis.es -p 6668

3. Comandos Básicos

Los comandos se introducen anteponiendo un / y después el comando. Algunos comandos son:

    * /join #canal: este se usa para entrar en un canal (por ejemplo, /join #linux). El «#»no es un capricho mío, los canales se representan siempre con un «#» delante del nombre. No obstante, el BitchX tiene un equivalente abreviado; si introducimos /j linux hará exactamente lo mismo.
    * /leave #canal: para abandonar un canal.
    * /whois nick: nos da información sobre un usuario del irc.
    * /who #canal: nos dice quién está en el canal.
    * /w nick: igual que el comando who.
    * /whowas nick: nos dice si un usuario ha estado en el irc.
    * /ww nick: igual que el comando whowas.
    * /list -yes: nos da la lista de todos los canales.
    * /msg nick: este es para mandarle un mensaje privado a «nick». También podemos darle al Tab y empezarán a salir los nombres de los miembros del canal o de las personas que te han mandado un mensaje, así que puedes mantener privados sin necesidad de escribir todo el rato /msg nick sino que con ponerlo una vez y darle luego al Tab ya lo tendrás escrito. Si ponemos /msg #canal lo mandamos a todo el canal (esto último no hace falta, si es el mismo canal en el que estamos, pero sí si es otro en el que estemos metidos, pero no hablando actualmente.
    * /topic: nos dirá el topic que tiene el canal.
    * /dns nick: nos dará la dirección IP de nick.
    * /ignore nick: ignorará los mensajes de nick. Para terminar un ignore se pone /unig -nick, y si queremos ver la lista de ignorados simplemente con poner /ignore nos saldrá.
    * /dcc chat nick: establece un chat con nick. Normalmente los chats salen con un = delante. Para cerrar un chat basta con poner /dcc chat close nick
    * Comandos de operador: Necesitas ser operador del canal para usarlos
          o /k nick ó /kick nick: echará a nick del canal.
          o /b nick ó /ban nick: baneará a nick del canal. (Osea, no le deja entrar más en el canal, por lo menos hasta que alguien quite el ban)
          o /kb nick: echa y banea a nick del canal
          o /topic Texto: cambia el topic del canal por Texto
          o /op nick: hace a nick operador del canal.
          o /deop nick: le quita el estatus de operador a nick
    * /notify nick: nos avisa cuando nick entra o sale del irc.
    * /notify: nos da lista de notifys.
    * /saveirc: graba el .bitchxrc
    * /save o savelist: graba los formatos y las configuraciones que se pueden ver poniendo /set.
    * /p nick: nos dice el ping de nick respecto a nosotros (ctcp ping)
    * /p #canal: hace un ping a todas las personas que haya en el canal.
    * /part: sale del canal en el que estés.
    * /v nick: nos dice el cliente de irc que está usando nick. (ctcp version). Si queremos no contestar a los versions se puede hacer poniendo set cloak on o dándole a la tecla Supr.
    * /v #canal: hace un version a todas las personas que estén en el canal.
    * /ver: igual que el /v.
    * /email nick: nos dice la dirección de e-mail de nick (para eso nick tiene que tener configurado su cliente de irc)
    * /quit: termina la conexión.
    * /exec: ejecuta un comando en un el shell y muestra la salida.
    * /redirect #canal exec comando lanza un comando y redirige su salida al canal.

3.1 Envío/Recepción de ficheros.

Para el envío/recepción de ficheros se usa el dcc pero si lo queremos ofrecer a todo el canal usamos los cdcc y para cogerlos los ctcp.

    * /cdcc: nos da la lista de comandos cdcc disponibles (útil para ofrecer ficheros a todo el canal, por ejemplo).
    * /dcc : nos muestra los ficheros que se están enviando o recibiendo por dcc.
    * /dcc send nick fichero: le envía a nick el fichero.
    * /dcc get nick: recibe el fichero de nick (se puede configurar la recepción automática mediante el comando /set auto_dcc on (hay muchas cosas que se pueden configurar poniendo simplemente /toggle)
    * /dcc close #N: corta el envío/recepción N.
    * /dcg nick: mata los chats con nick.

Ahora viene la lista de los ctcp (muy útiles en efnet 😉 )

    * /ctcp #canal cdcc list: pide la lista de ficheros ofrecidos en #canal.
    * /ctcp nick cdcc list: pide la lista de ficheros a nick
    * /ctcp nick cdcc send #N: pide a nick que envíe el paquete número N.
    * /ctcp nick resend #N: pide a nick que reenvíe el paquete pero comenzando por donde se cortó (muy útil si te están mandando ficheros largos, hay que tener el fichero en el mismo directorio desde el que lanzamos el BitchX, si no, no lo encuentra y enviará el fichero entero). No todos los que ofrecen ficheros tienen disponible esta opción.

3.2 Gestión de Ventanas

Todo lo que podamos hacer con clientes gráficos lo podremos hacer con el BitchX, el manejo de ventanas es similar al que usan programas como screen. Algunos scripts simplifican las cosas y con combinaciones como Ctrl W C podemos crear ventanas. Poniendo /window help podemos ver una lista de todos los comandos posibles. Se pueden encadenar y con /window new hide creamos una ventana y la ocultamos. Los comandos básicos son:

    * /window new: crea una nueva ventana.
    * /window kill [refnum]: destruye la ventana actual.
    * /window list: lista todas las ventanas. Cada ventana tiene asociado un nombre (si se lo hemos puesto) y una referencia (refnum) que se usan para hacer operaciones sobre las ventanas.
    * /window hide [refnum]: oculta una ventana.
    * /window show [refnum]: muestra una ventana. Si no ponemos nada en [refnum] todos estos comandos actúan sobre la ventana activa en ese momento.
    * /window name NOMBRE: fija el nombre para esa ventana.
    * /window grow FILAS: aumenta o disminuye en FILAS la ventana activa.

Mediante estos comandos podemos tener una ventana distinta para cada canal, para cada servidor de irc, podemos hacer que cuando alguien nos mande un privado se cree una ventana solo para sus mensajes y todo lo que se nos pueda ocurrir. Por ejemplo yo tengo puesto lo siguiente en mi .bitchxrc: /window name linux (llama linux a la ventana principal) /window new name msgs level msgs split on double on hide crea una nueva ventana oculta llamada msgs para los msgs (level msgs). /window swap msgs cambia a la ventana msgs. /window show linux grow 5 muestra la ventana linux y la aumenta 5 lineas.

Con todo esto lo que he conseguido es tener una ventana pequeñita en la parte de abajo en donde me saldrán todos los mensajes privados 🙂

Si por ejemplo quiero crear una nueva ventana para meterme en el canal #4quake pondré /window new hide channel #4quake que me crea una ventana, la oculta e intenta entrar en el canal #4quake en esa ventana.

Para verla basta con poner /window last o poner /window list lo que nos dirá las ventanas activas saliendo más o menos una cosa como esta:

    -:- Ref Nick Name Channel Query Server Level
    -:- 1 unsCAred <None> #linux <None> unsCAred.d NONE
    -:- 2 unsCAred <None> #4quake <None> unsCAred.d NONE

ahora si pongo /window show 2 me mostrará la ventana del canal #4quake.

Cuando tenemos más de una ventana en la pantalla, la ventana activa se indica con un ^^^^^^ en la barra de estado, si queremos cambiar a la otra usamos control-W P (para ver una lista completa de las combinaciones del teclado se pone /bhelp window. Si las ventanas están ocultas lo mas cómodo es usar Alt-# siendo # un número del 1 al 9 y con esto vamos cambiando a la ventana que queramos.
3.3 Servidores

Una de las propiedades del BitchX es que permite estar en varios servidores a la vez. Para hacer esto simplemente tenemos que crear una nueva ventana (ver sección anterior) y poner /server +SERVIDOR . El + es importante porque sino lo que haremos es cambiar el servidor en el que estamos actualmente. Para cerrar la conexión con un servidor basta con poner /server -SERVIDOR.

Poniendo /server nos da la lista de servidores (lista que o bien se le pasa como parámetro al arrancar o al compilarlo; ver el fichero /include/config.h).