summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/sorcix/irc/ctcp/doc.go
blob: f0308d862cfcfd99948602cae8e1fc4b5beb8b5d (plain) (blame)
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
// Copyright 2014 Vic Demuzere
//
// Use of this source code is governed by the MIT license.

// Package ctcp implements partial support for the Client-to-Client Protocol.
//
// CTCP defines extended messages using the standard PRIVMSG and NOTICE
// commands in IRC. This means that any CTCP messages are embedded inside the
// normal message text. Clients that don't support CTCP simply show
// the encoded message to the user.
//
// Most IRC clients support only a subset of the protocol, and only a few
// commands are actually used. This package aims to implement the most basic
// CTCP messages: a single command per IRC message. Quoting is not supported.
//
// Example using the irc.Message type:
//
//    m := irc.ParseMessage(...)
//
//    if tag, text, ok := ctcp.Decode(m.Trailing); ok {
//        // This is a CTCP message.
//    } else {
//        // This is not a CTCP message.
//    }
//
// Similar, for encoding messages:
//
//    m.Trailing = ctcp.Encode("ACTION","wants a cookie!")
//
// Do not send a complete IRC message to Decode, it won't work.
package ctcp