The irc-ctcp package
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
CTCP (Client To Client Protocol) is a way of sending arbitrary data over an IRC network, which may include bytes not allowed in standard IRC messages. CTCPs are sent as a PRIVMSG or NOTICE, where the first and last characters as \001 (SOH), and special bytes are escaped by encoding them into a two-byte sequence beginning with \020 (DLE). CTCPs consist of command name (typically in upper-case) followed by list of space-separated arguments, which may be empty.
One use of CTCPs supported by the vast majority of IRC clients today is the ACTION command, typically invoked with /me. For example, if the user foo in the channel #bar were to issue
everyone in the channel would receive the message
:foo PRIVMSG #bar :\001ACTION dances\001
Other common uses of CTCP include requesting the name and version of a user's IRC client, their local time, determining ping times, and initiating file transfers (DCC).
Characters are escaped as follows:
- \000 (NUL)
- \020 \060 (0)
- \012 (NL)
- \020 \156 (n)
- \015 (CR)
- \020 \162 (r)
- \020 (DLE)
- \020 \020
All other appearences of the escape character are errors, and are dropped.
See http://www.irchelp.org/irchelp/rfc/ctcpspec.html for more details.
|Versions||0.1.0.0, 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.2.1, 0.1.3.0|
|Change log||None available|
|Dependencies||base (>=4.7 && <5), bytestring (>=0.10), text (>=1.1) [details]|
|Uploaded||Fri Aug 22 12:43:41 UTC 2014 by barrucadu|
- irc-ctcp-0.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (included in the package)
For package maintainers and hackage trustees