CTCP
CTCP, Client-to-client protocol — особый вид соединения между клиентами по протоколу IRC (Internet Relay Chat).
CTCP является широко распространённым протоколом, применяемым на сегодняшний день крупнейшими IRC-клиентами. CTCP расширяет первоначальный протокол IRC, давая пользователям возможность обращаться к другим клиентам или каналам, что позволяет клиентам с канала отвечать по CTCP. Кроме того, CTCP может использоваться для кодирования сообщений, которые первоначальный протокол IRC не позволяет передавать по соединению, подобно сообщениям, содержащим символ перевода строки или с байтом нулевого значения. CTCP не устанавливает прямую связь между клентами; однако для ведения двусторонних бесед обычно используются DCC-соединения.
CTCP помимо прочих вещей позволяет пользователям запрашивать у удалённого клиента версию клиентского программного обеспечения (командой CTCP VERSION
), время (командой CTCP TIME
) или получать информацию об удалённом пользователе (командой CTCP USERINFO
). Также протокол используется для реализации группы команд /me (командой CTCP ACTION
).
Сообщение CTCP реализуется как PRIVMSG
или NOTICE
в случаях, когда первый и последний символы сообщения имеют ASCII-значение 0x01. Символы, неразрешённые протоколом IRC, заменяются ESC-последовательностями. В качестве стандарта NOTICE
не генерирует в ответ другое сообщение типа NOTICE
, сообщения CTCP отправляются как PRIVMSG
и ответ производится сообщением типа NOTICE
вместо PRIVMSG
.