CTCP
# CTCP

El Protocolo Cliente-a-Cliente (Client-to-Client Protocol, CTCP) es una forma especial de comunicación entre dos clientes de Internet Relay Chat (IRC).

CTCP es un protocolo implementado en la mayoría de los clientes de IRC en uso. CTCP extiende el protocolo IRC original permitiendo a los usuarios enviarse mensajes privados y preguntar a otros clientes por información específica. Además, CTCP puede ser usado para codificar mensajes que el protocolo IRC en crudo no permitiría que fueran enviados, como mensajes conteniendo nuevas líneas o bytes con valor 0.

CTCP permite a los usuarios preguntar a un cliente remoto la versión del cliente que está usando (vía CTCP VERSION), la hora (vía CTCP TIME), o conseguir información de un usuario remoto (vía CTCP USERINFO), entre otros. Este es usado para implementar la lista de comandos IRC. CTCP también es usado para negociar las conexiones Direct Client-to-Client (DCC).

Un mensaje CTCP es implementado como un PRIVMSG, donde el mensaje comienza y termina con el byte 1. además, caracteres que no serían permitidos en el protocolo IRC están fuera. Dado que por norma, un PRIVMSG no debe generar otro PRIVMSG como respuesta, una respuesta CTCP es implementada como un aviso (NOTICE) en vez de un PRIVMSG, pero es de otra manera idéntico.

