Client-To-Client Protocol
# Client-To-Client Protocol

Das Client-To-Client Protocol (CTCP) dient einer besonderen Form der Kommunikation zwischen IRC-Clients.
CTCP erweitert dabei normale IRC-Textnachrichten um spezielle Befehle, durch die bestimmte Nachrichten versandt und Informationen des Empfängers abgefragt werden können. Unter anderem die Ortszeit (TIME), die Versionsinformationen des genutzten IRC-Clients (VERSION) und der reale Benutzername (FINGER). Die gängigen IRC-Clients verstehen diese Anfragen und beantworten sie entsprechend den Benutzereinstellungen. Häufig wird standardmäßig mindestens die Versionsabfrage beantwortet.
CTCP wird außerdem durch den CTCP-ACTION-Befehl für die Implementierung des Pseudo-Befehls /me benutzt, durch den eine Nachricht beim Empfänger als „Handlung“ interpretiert und entsprechend dargestellt wird (zum Beispiel „Angela hat den Computer verlassen“).
Des Weiteren wird mit CTCP-DCC eine direkte DCC-Verbindung zwischen zwei IRC-Clients aufgebaut.
Die CTCP-Spezifikation ist bisher in keiner offiziellen RFC zum IRC-Protokoll festgeschrieben und somit lediglich ein De-facto-Standard.

## CTCP-Anfragen

CTCP-Anfragen können in den gängigen IRC-Clients für gewöhnlich durch die Eingabe des folgenden Befehls verschickt werden:
BEFEHL steht hierbei für den eigentlichen Befehl, der über CTCP ausgeführt werden soll.
Eine Auswahl von häufig genutzten CTCP-Befehlen(für einen User mit Nicknamen Anonymus):
* PING gibt die Latenzzeit der IRC-Verbindung zwischen dem eigenen Rechner und dem des Empfängers zurück. Beispiel:
       Befehl: /CTCP Anonymus PING
       Antwort: 2secs
* VERSION gibt die Versionsinformationen des verwendeten Clients zurück. Beispiel:
       Befehl: /CTCP Anonymus VERSION
       Antwort: mIRC v6.16 Khaled Mardam-Bey
* TIME gibt die Systemzeit, für gewöhnlich die Ortszeit, des Empfängers zurück. Beispiel:
       Befehl: /CTCP Anonymus TIME
       Antwort: Sat Oct 02 03:05:54 2004
* FINGER gibt die Idle-Zeit, den Namen sowie die eingetragene E-Mail-Adresse des Chatters zurück. Beispiel:
       Befehl: /CTCP Anonymus FINGER
       Antwort: anonym (anonymous@example.net) Idle 82 seconds (-)