Epic IRC

Help Sections
Section 1: General-Purpose Commands
Help

Section 1: General - ctcp

Synopsis:

ctcp [=]<nick>|<channel> <command> [<arguments>]

Description:

The CTCP command is a user-level interface to CTCP, the client-to- client protocol. CTCP is used for interaction with other clients on the network, instead of the server. It works by sending a specially coded message to another client, which will respond to it if it knows how.

The actual command sent depends on the particular client you are dealing with, though most that support CTCP at all will support the basic ones used by ircII. Used in conjunction with ON, just about any CTCP command can be created and used. To find out what CTCP commands a client understands, issue it a CTCP CLIENTINFO.

The normal behavior is to send the CTCP command across the network, though ircII-EPIC also allows them to be sent across DCC CHAT connections. To do this, prefix the nickname with a "=". If a "*" is specified instead of a nick or channel, the command is sent to the current channel. All CTCP commands may be sent to individual clients or channels, with the same destination limitations as MSG.

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
Other Notes:

Aside from the CTCP commands documented here, ircII also supports a command called SED. SED stands for simple encrypted data, and is used internally by the client for its built-in encryption. It is not intended for use by the user, as the results can be unpredictable. See the ENCRYPT command for more information.

If you happen to be holding an encrypted conversation with another person, and you send that person a CTCP, it will be encrypted as well. This is useful primarily because it will encrypt DCC handshakes. This does pose an incompatibility with older ircII clients, however, as they won't know how to respond properly.


Section 1: General - ctcp action

Synopsis:

ctcp [=]<nick>|<channel> action <action description>

Description:

This sends a message to the specified nickname or channel that describes what you are doing. Instead of telling someone "I'm tired", it lets you send a message saying "YourNick is tired".

Aliases:

CTCP ACTION is really just a low-level version of ME (for sending to a channel) and DESCRIBE.

See Also:

describe(1); load(5) action, mudlike; me(1); on(5) action, send_action


Section 1: General - ctcp clientinfo

Synopsis:

ctcp [=]<nick>|<channel> clientinfo [<ctcp command>]

Description:

This lets you find out what CTCP commands another client knows how to deal with. You can get a more detailed explanation of the CTCP commands understood by specifying the desired command.

Examples:

To get more information on VERSION from Joebob:

/ctcp joebob clientinfo version
Other Notes:

Some CTCP commands, DCC, ERRMSG and SED in particular, are not meant to be used manually. The results can be unpredictable.


Section 1: General - ctcp echo

Synopsis:

ctcp [=]<nick>|<message> echo [<any text>]

Description:

This just makes the remote client send back whatever text you send to it. That's it.


Section 1: General - ctcp finger

Synopsis:

ctcp [=]<nick>|<channel> finger

Description:

This will return the idle time of the client it is sent to, as well as the user's real name (from their system's /etc/passwd file).

See Also:

load(5) finger(8)

Other Notes:

This is not the same as the Unix command of the same name. Though it returns similar information (idle time, real name), the two have no relationship between one another.


Section 1: General - ctcp ping

Synopsis:

ctcp [=]<nick>|<channel> ping <current time>

Description:

This command is used to give you a general idea of how much "lag" (delays due to network congestion) is between you and another client. The current time is represented as an integer which is the number of seconds since 1 January 1970. The current time in this format can be obtained with the $time() function.

Aliases:

The PING command is identical to using CTCP PING with $time() as the "time" argument.

See Also:

load(5) oldping; ping(1)


Section 1: General - ctcp time

Synopsis:

ctcp [=]<nick>|<channel> time

Description:

This asks another client for its local time of day. This differs from the TIME command, which queries the server instead of a client.

See Also:

time(2); time(6)


Section 1: General - ctcp userinfo

Synopsis:

ctcp [=]<nick>|<channel> userinfo

Description:

This asks another client to return whatever text it has stored in its USER_INFORMATION variable, which can be just about anything.

See Also:

set(4) user_information


Section 1: General - ctcp utc

Synopsis:

ctcp [=]<nick>|<channel> utc <time value>

Description:

This is a convenient means by which to send another client the current time in your locale without requiring them to request it first. The time value sent is in the same format as used with CTCP PING.

Examples:

To send another client the current time in your time zone (note that EVAL is necessary to expand $time() to the actual value when used from the input line):

/eval ctcp nickname utc $time()
Other Notes:

CTCP UTC is used primarily by robots or other automatons. Unlike other CTCP commands, an automatic reply is not generated. Instead, it appears to the recipient as a normal MSG.


Section 1: General - ctcp version

Synopsis:

ctcp [=]<nick>|<version> version

Description:

This command asks another client what the name and version of the client program being used is.

See Also:

version(2)

Other Notes:

Some older ircII clients will return "SL0" in their VERSION reply. This stands for "Script Level 0". It isn't seen very often anymore, but if you do see it, that's what it means.