# Tecnologías de Internet/IRC

Internet Relay Chat, comúnmente abreviado IRC, es un protocolo de conversación, un modo de permitir que varias personas hablen entre sí introduciendo mensajes de texto, pudiendo cada participante ver todo lo que los demás participantes escriben, igual que en una conferencia telefónica.

## Tecnología del IRC

Formalmente, el IRC es una especificación e implementación de un protocolo de comunicación textual en tiempo real multiusuario, que retransmite mensajes entre los usuarios en la red. Según Efnet.org, el IRC nació durante 1988. Según IRChelp.org, la especificación oficial para el IRC fue escrita en 1993 en el formato RFC. La especificación RFC 1459: Internet Relay Chat Protocol es una excelente fuente tanto de introducción como de información detallada acerca del protocolo IRC. Hoy, el IRC tiene una gran cantidad de usuarios y cualquiera puede encontrar un lugar para participar en la conversación.
La unidad de arquitectura más grande del IRC es la red IRC. Hay quizás cientos de redes IRC en el mundo, cada una ejecutándose paralela e independientemente de las demás. Un cliente con una sesión abierta en una red puede comunicarses solo con otros clientes en la misma red y no con clientes de otras redes. Cada red está compuesta de uno o más servidores IRC. Un cliente IRC es un programa que conecta a un determinado servidor IRC para hacer que el servidor retransmita comunicaciones hacia y desde otros cliente en la misma red, aunque no necesariamente hacia y desde el mismo servidor.
Los mensajes en IRC se envían como bloques. O sea, otros clientes IRC no lo ven a uno tecleando ni editando. Uno crea un bloque de mensaje (comúnmente solo una oración) y transmite el bloque entero de una sola vez, el cual es recibido por el servidor y basado en el direccionamiento, lo entrega al cliente apropiado y lo retransmite a otros servidores para que se entregado y retransmitido otra vez, y así sucesivamente.
Una vez conectado a un servidor, el direccionamiento de otros clientes se logra a través de apodos IRC. Un apodo es simplemente una línea única de caracteres que identifican a un cliente particular. Aunque las implementaciones varían, las restricciones de los apodos usualmente dictan que sean compuestos solo con los caracteres a-z, A-Z, 0-9, guion bajo y raya.
Otra forma de direccionamiento en el IRC, y podría decirse que uno de sus rasgos definitorios, es el canal IRC. Los canales IRC son comúnmente comparados con los canales de la radio de banda ciudadana. Sin embargo, mientras que en la banda ciudadana se dice que uno «escucha» un canal, en el cliente IRC se dice que uno «se une» a al canal. Cualquier comunicación enviada al canal es entonces «escuchada» o vista por el cliente. Por otro lado, otros clientes en la misma red o incluso en el mismo servidor, pero en el mismo canal, no verán ningún mensaje enviado al canal.
Mientras que, por definición, el IRC no es un protocolo P2P, el IRC tiene algunas extensiones que soportan texto y transmisión de archivos directamente de cliente a cliente sin ninguna retransmisión. Estas extensiones son conocidas como DCC (Direct Client-to-Client) y CTCP (Client-To-Client Protocol). Para CTPC, los clientes como mIRC implementan comandos tales como ctcp nickname version or ctcp nickname ping para obtener información interesante de otros usuarios.

## Usando el IRC

Para usar el IRC, necesitas hacer lo siguiente:
* Escoger e instalar un cliente IRC.
* Encontrar el canal que discuta el tema de tu interés (similar a una habitación en otros ambientes de conversación).
* Encontrar el servidor en el cual se ubica el canal.
* Conectarse al servidor usando el cliente, usando el apodo tu elección.
* Conectarse al canal (una habitación).

## Registrando tu apodo

Algunos clientes IRC ofrecen registrar tu apodo a través de un bot de servicio. Esto a veces provee acceso a los canales que están bloqueados a usuarios sin registrar y, en la mayoría de los casos, reserva tu apodo para que nadie más pueda usarlo (esto como mínimo te marcará usuario con sesión activa y si alguien más usa el mismo apodo no podrá iniciar sesión).
La mayoría de los bots de servicio que proveen esta capacidad se llaman «NickServ», y algunas veces «AuthServ», o solo «Q» en una red grande. Cuando encuentras que existe alguno de estos bots, puedes reunir más información al digitar:
    /msg [NOMBRE-DE-BOT] help
Con esto obtendrás instrucciones detalladas acerca de cómo usar el servicio.

### Manual de ejemplo para una red

El proceso es bastante simple: si, una vez que has escogido tu apodo, te gustaría registrarlo (asumiendo que no pertenece a nadie más) y has escogido una contraseña, sigue los siguientes pasos:
* Si no lo has hecho ya, cambia tu apodo por el que quieres registrar.
    /nick [APODO]
Por ejemplo:
    /nick FulanoDeTal
* Envía un mensaje privado al servicio de apodos de la red con la contraseña que escogiste y tu dirección de correo electrónico con
    /msg nickserv register [CONTRASEÑA] [CORREO]
Por ejemplo:
    /msg nickserv register 1234abcd FulandoDeTal@correo.com
* Después de enviar el mensaje al servicio de apodos, deberías recibir pronto una respuesta indicando que tu solicitud de registro ha sido recibida y enviada a la dirección de correo electrónico que proporcionaste.
    An email containing nickname activation instructions has been sent to FulanoDeTal@correo.com
* Para completar el proceso de registro, necesitará enviar un mensaje al servicio de apodos con el código de registro que se envió a tu dirección de correo electrónico.
    /msg NickServ VERIFY REGISTER FulanoDeTal p4huc5gqunnc
* Una vez que hayas ingresado correctamente el código de registro, el servicio de apodos debería enviarte un mensaje indicando que el proceso de registro de apodo se completó exitosamente.
    FulanoDeTal has now been verified.
Deberías ya tener tu cuenta activada bajo tu apodo. Si te desconectas del servidor, para reactivar tu cuenta bajo tu apodo, necesitarás enviar un mensaje al servicio de apodos junto a tu contraseña:
    /msg nickserv identify [CONTRASEÑA]
Por ejemplo:
    /msg nickserv identify 1234abcd
Una vez que ha sido hecho, debería responderte diciendo que has activado tu cuenta exitosamente.
    You are now identified for FulanoDeTal

## Conversaciones y charlas privadas

Por omisión, las conversaciones realizadas en el IRC son públicas y visibles para todos los usuarios en el canal.
Para tener una conversación privada con un usuario en el canal, digita /query nickname.
Para tener una charla privada, únete a un canal no existente, y luego permite que se unan solo por invitación usando el comando /mode +i. Estos son los pasos:
* /join #minuevocanal
* /mode +i
* /invite algunaotrapersona

## Clientes IRC

Para usar el IRC, necesitarás un cliente IRC (un programa que te permita conectarte a un servidor IRC e ingresar a un canal IRC). Hay una gran variedad de clientes IRC:
Algunos clientes IRC :
| Cliente IRC | Descripción | Restricciones de sistema operativo | Notas |
| ChatZilla | Una extensión para Firefox. | | |
| IRSSI | Solo tiene una interfaz de texto. | | |
| mIRC | | Windows. | Ideal para principiantes. |
| XChat | | (XChat-WDK para Windows). | |
| Smuxi | Un cliente amigable para GNOME. | Linux y Windows. | |
| Colloquy | | Solo para OS X. | |
| Pidgin | Un cliente multiprocolo. | | Tiene otros protocolos además de IRC. |
| Miranda | Un cliente multiprotocolo. | | |
| Trillian | Un cliente multiprotocolo. | | |
| Opera | Un navegador web con un cliente IRC integrado. | | |
| BitchX | | | |
| WeeChat | Solo tiene una interfaz de texto. | GNU/Linux, FreeBSD, OpenBSD, NetBSD, OS X, Open Darwin, Debian GNU/Hurd, Debian GNU/kFreeBSD, HP-UX, Solaris y QNX. | Permite conectarse a un servidor usando Tor. |

## Comandos del IRC

Lo que sigue es una visión general de algunos de los comandos básicos del protocolo IRC. Todos los comandos ya están prefijados con una barra «/», aunque en la mayoría de los clientes esto indicará que el comando IRC que le sigue será ejecutado. Con algunos clientes IRC, incluyendo ChatZilla y Pidgin, no necesitas saber estos comandos: solo le dices al cliente lo que quieres hacer usando la interfaz gráfica de usuario y el cliente envía los comandos necesarios por ti.

### Comandos básicos

A continuación hay algunos comandos básicos para el IRC. Por favor, nótese que no todos están disponibles en todos los clientes, y algunos son invenciones de clientes específicos para hacer tu vida más fácil y no son parte del protocolo IRC propiamente.
| Comando | Lo que hace | Ejemplo |
| /attach /server /connect | Conecta a un servidor | /attach irc.freenode.net /server irc.freenode.net /connect irc.freenode.net |
| /nick | Establece tu apodo | /nick TuNombre |
| /join | Unirse a un canal | /join #wikibooks-es |
| /msg | Envía un mensaje (ya sea privado o a todo el canal) | Al canal: /msg #wikibooks-es ¡hola mundo! Enviar un mensaje privado: /msg FulanoDeTal Hola fulano. |
| /whois | Muestra información acerca de un usuario en el servidor | /whois FulanoDeTal |
| /clear /clearall | Borra el texto de un canal Clears all open channel's text. | /clear /clearall |
| /away | Establece un mensaje de ausencia. Para regresar de la ausencia, digita /away o envía un mensaje. | /away Estoy ausente porque... |
| /me | Envía una acción al canal. Véase el ejemplo. | Lo siguiente: /me ama los pasteles. emitiría a la conversación en el caso de FulanoDeTal: FulanoDeTal ama los pasteles. |
| /topic | Pregunta o establece el tema de discusión. | /topic Usando IRC |

### Comandos de usuario privilegiados

Comandos para semioperadores, operadores de canal, dueños de canal y administradores:
| Comando | Lo que hace | Ejemplo |
| /kick | Echa a un usuario del canal. Necesitas ser semioperador o tener un privilegio mayor para hacerlo. | Echar a un usuario del canal con una razón: /kick #canal FulanoDeTal Te eché porque... |
| /ban /unban | Restringe al acceso de un usuario a un canal. Necesitas ser operador de canal o tener un privilegio mayor para hacerlo. Remueve la restricción de acceso de un usuario a un canal. Necesitas ser operador de canal o tener un privilegio mayor para hacerlo. | /ban FulanoDeTal /unban FulanoDeTal |

## Véase también

* Netiquette/IRC

## Enlaces externos

* Este libro fue creado a partir de la traducción total del libro Internet Technologies/IRC de Wikilibros en inglés, concretamente de esta versión, bajo licencia GFDL y CC BY-SA 3.0 Unported.