-
Notifications
You must be signed in to change notification settings - Fork 0
/
irc-ctcp.cabal
119 lines (96 loc) · 3.76 KB
/
irc-ctcp.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
-- Initial irc-ctcp.cabal generated by cabal init. For further
-- documentation, see http://haskell.org/cabal/users-guide/
-- The name of the package.
name: irc-ctcp
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.1.3.1
-- A short (one-line) description of the package.
synopsis: A CTCP encoding and decoding library for IRC clients.
-- A longer description of the package.
description:
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.
-- URL for the project homepage or repository.
homepage: https://github.com/barrucadu/irc-ctcp
-- URL where users should direct bug reports.
bug-reports: https://github.com/barrucadu/irc-ctcp/issues
-- The license under which the package is released.
license: MIT
-- The file containing the license text.
license-file: LICENSE
-- The package author(s).
author: Michael Walker
-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer: mike@barrucadu.co.uk
-- A copyright notice.
-- copyright:
category: Network
build-type: Simple
-- Extra files to be distributed with the package, such as examples or a
-- README.
extra-source-files: changes.md
-- Constraint on the version of Cabal needed to build this package.
cabal-version: >=1.10
library
-- Modules exported by the library.
exposed-modules: Network.IRC.CTCP
-- Modules included in this library but not exported.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
-- Other library packages from which modules are imported.
build-depends: base >=4.5 && <5
, bytestring >=0.10
, text >=1.1
-- Directories containing source files.
-- hs-source-dirs:
-- Base language which the package is written in.
default-language: Haskell2010
source-repository head
type: git
location: https://github.com/barrucadu/irc-ctcp.git
source-repository this
type: git
location: https://github.com/barrucadu/irc-ctcp.git
tag: 0.1.3.1