Used to send tagged data, requests or replies. The syntax for each is the same, but clients can use REQUEST to indicate that a REPLY is desired, and use REPLY to indicate that a REQUEST was issued. If user is not in IRCX mode, server returns ERR_UNKNOWNCOMMAND.
Syntax:
DATA <target> <tag> :<message>
REQUEST <target> <tag> :<message>
REPLY <target> <tag> :<message>
<target> The target for the data. Target can be a nick, list of nicks, channel, list of channels, or channel followed by a list of some members of the channel. This definition for <target> will be used throughout this document.
<tag> Text field that clients use to know how to interpret the data. Valid characters are [A..z], [0..9] and period (.). The first character must be one of [A..z]. Maximum 15 characters. If the tag begins with ADM, SYS, OWN or HST then the originator must have appropriate privileges (Sysop Manager, Sysop, Channel Owner or Channel Host. Channel Owner & Host apply to the channel the message is being sent to.) The server itself can send tags beginning with these reserved strings.
<message> Payload or data for the message, ending with a newline. Any newlines or other control characters within the body of the message must be escaped.
REPLY and REQUEST may be used to replace "DATA". IRCX servers should not send DATA commands to clients that have not indicated that they support IRCX. Clients should only process DATA messages if they know and support the tag used.
Prefixes should indicate the organization that specified them, when appropriate. For example: MYORG.AVATAR could be a tag used by MyOrg, as would be all MYORG.* tags.