# IRC (Internet Relay Chat)

No podría hablar de GNU/Linux sin hablar de [IRC](https://es.wikipedia.org/wiki/Internet_Relay_Chat), ya que desde su creación ha sido muy útil en el desarrollo de las comunidades amantes de la tecnología. Es un sistema de chat que permite interactuar con personas de todo el mundo.

Con el auge de las nuevas tecnologías en mensajería instantánea y redes sociales, los IRC han ido perdiendo popularidad, sin embargo siguen activas, ya que podemos encontrar gran variedad de canales especializados en temas concretos.

La mayoría de las distribuciones, aunque cuentan con sus foros, también cuentan con sus propios canales IRC. Ahora hay tres cosas fundamentales que debemos entender antes de iniciar:

1. Servidor IRC
2. [Cliente IRC](https://es.wikipedia.org/wiki/Anexo:Clientes_IRC)
3. Nick (Nombre de usuario)

Así como existe gran variedad de servidores con sus respectivos canales, podemos encontrar gran variedad de clientes con sus ventajas, además los clientes se pueden encontrar en la web, software con entorno gráfico, y para la terminal. También es importante ser amable y cortés dentro de los canales IRC, puedes ver algunas recomendaciones entrando a [https://nohello.net/es/](https://nohello.net/es/).

Tú eliges el que mejor te guste, lo importante es aprender a usarlos. Aunque uses uno con entorno gráfico debes aprender muchos comandos que se ejecutan al interior de los clientes IRC. Estos clientes IRC son personalizables, algunos permiten cambiar de tema (diseño), o ampliar sus capacidades con scripts.

***

* [irssi](https://manpages.debian.org/bookworm/irssi/irssi.1.en.html) - Cliente modular de IRC.

Para el siguiente ejemplo voy a usar el [cliente para terminal](https://irssi.org/) `irssi`. Ahora debemos elegir el servidor para conectarnos, y uno de los más populares es [Libera Chat](https://libera.chat/), donde podemos encontrar la mayor cantidad de canales de las distribuciones GNU/Linux, programadores y desarrolladores.

```bash
$ irssi -c irc.libera.chat -p 6697
```

Al ejecutar este comando, nos va a mostrar un registro del procesos de conexión, así que no te preocupes, es normal.

{% hint style="info" %}
**Servidores IRC**

Puedes encontrar listas de servidores ingresando a [https://www.ircdriven.com/networks/list/](https://www.ircdriven.com/networks/list/) o [https://netsplit.de/networks/](https://netsplit.de/networks/).
{% endhint %}

Una vez estemos conectados ya podremos ejecutar gran variedad de comandos para entrar en los canales, los cuales se identifican en su mayoría con `#`, cambiar nuestro nick, etc.

{% hint style="info" %}
**Comandos IRC**

Los comandos siempre comienzan con `/`.
{% endhint %}

| Comando                 | Descripción                                           |
| ----------------------- | ----------------------------------------------------- |
| `/connect` SERVIDOR     | Conectarse a un IRC.                                  |
| `/nick` NOMBRE\_USUARIO | Cambiar nombre de usuario.                            |
| `/join` #NOMBRE\_CANAL  | Entrar a un canal.                                    |
| `/msg` NOMBRE\_USUARIO  | Enviar un mensaje interno.                            |
| `/clear`                | Limpiar pantalla.                                     |
| `/wc`                   | Cerrar ventana.                                       |
| `/exit` `/quit`         | Salir (En `irssi` se desconecta y sale por completo.) |

Una vez dentro de irssi podemos ejecutar el comando para cambiar de nick, ya que por defecto al instalarse, toma el nombre de usuario del sistema. También lo podemos cambiar editando el fichero que se encuentra el directorio `~/.irssi/config`. Buscamos las siguientes líneas al final:

```
settings = {
   core = {
     real_name = "NOMBRE_REAL";
     user_name = "NOMBRE_USUARIO";
     nick = "NOMBRE_USUARIO";
```

{% hint style="info" %}
**Registro de Nick**

Es posible que para entrar en algunos canales debas registrar el nick. Es recomendado hacerlo por seguridad, para que siempre se reserve y no lo use alguien más, también porque puedes solicitar un cloak (máscara) para proteger la IP.
{% endhint %}

El comando para registrarse es `/msg NickServ register contrseña correo@correo.com` (Ejecuta este comando cuando hayas elegido el nick). Una vez ejecutado este comando se debe revisar el correo para confirmar el registro.

Iniciar sesión después de registrar el nick es muy sencillo, ejecuta el comando `/msg NickServ identify usuario contraseña`.

Puedes entrar a todos los canales que quieras. Para cambiar entre las diferentes ventanas que se abren por canal, puedes usar la combinación de teclas `Alt + #(1-9)`, `Alt + Izq` y `Alt + Der`.
