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
|