# $EPIC: ctcp,v 1.3 2001/05/03 21:00:51 jnelson Exp $
Synopsis:
   ctcp [=]<nick>|<channel> <command> [<arguments>]

Description:
   CTCP is the Client To Client Protocol.  The purpose
   of CTCP is to send requests for information to other clients on the
   network, instead of the server.  CTCP messages are specially coded and
   the client to which you send a CTCP request will respond if it supports
   the request.

   You, the user, have complete control over EPIC's CTCP implementation.
   You may change how EPIC responds to CTCP requests, you may suppress
   certain CTCP requests from answering, and you can create new CTCP 
   commands for others' use.  To find out what CTCP commands that your
   version EPIC understands, run /CTCP <your nickname> CLIENTINFO

   The CTCP protocol is transport-neutral.  What that means is that CTCP
   requests do not have to be sent across an irc server.  EPIC currently
   can send and accept CTCP requests sent through the irc server, and through 
   DCC CHAT connections.  To send a CTCP request over a DCC CHAT connection,
   prefix the nickname with an equals-sign ('=').  Tos end a CTCP request
   to your current channel, send the CTCP request to "star" ('*').

   You cannot send CTCP requests in an ON that was generated by a 
   message from an irc server (such as ON MSG, ON PUBLIC, or ON NOTICE),
   because the IRC protocol does not permit it.  You can send CTCP requests 
   in an ON that was generated by a DCC CHAT connection.

   Not all CTCP implementations are equal.  Other clients will support mor
   or less requests than this client does.  There is no way to guarantee 
   that any CTCP request will succeed.

Examples:
   To request the version of another client:
      /ctcp version nickname

   To ping a client that you have a DCC CHAT connection to:
      /ctcp =nickname ping

   To make a client echo back the the arguments you send it:
      /ctcp nickname echo send this back

See Also:
   ctcp(1) clientinfo; on(5) ctcp, ctcp_reply; load(5) sound; set(4)
   no_ctcp_flood, verbose_ctcp

Technical Note:
   When you begin an entropic conversation with the /CRYPT command, all
   messages sent to the target will be sent using CTCP SED requests.
   This client can add entropy to CTCP requests (many other clients cannot)
   and will do so transparantly.  Thus, some sensitive CTCP requests (such
   as CTCP DCC SEND) can be shrouded from snooping by the server if you use
   the /CRYPT command.

