32 lines
1.1 KiB
Go
32 lines
1.1 KiB
Go
// 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
|