irc-ctcp: A CTCP encoding and decoding library for IRC clients.

[ library, mit, network ] [ Propose Tags ]

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

/me dances

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.

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.2.1, 0.1.3.0, 0.1.3.1
Change log changes.md
Dependencies base (>=4.5 && <5), bytestring (>=0.10), text (>=1.1) [details]
License MIT
Author Michael Walker
Maintainer mike@barrucadu.co.uk
Category Network
Home page https://github.com/barrucadu/irc-ctcp
Bug tracker https://github.com/barrucadu/irc-ctcp/issues
Source repo head: git clone https://github.com/barrucadu/irc-ctcp.git
this: git clone https://github.com/barrucadu/irc-ctcp.git(tag 0.1.3.1)
Uploaded by barrucadu at 2021-08-15T12:34:52Z
Distributions LTSHaskell:0.1.3.1, NixOS:0.1.3.1, Stackage:0.1.3.1
Reverse Dependencies 4 direct, 1 indirect [details]
Downloads 5484 total (25 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-08-15 [all 1 reports]