diff options
Diffstat (limited to 'vendor/github.com/thoj/go-ircevent/irc_struct.go')
-rw-r--r-- | vendor/github.com/thoj/go-ircevent/irc_struct.go | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/vendor/github.com/thoj/go-ircevent/irc_struct.go b/vendor/github.com/thoj/go-ircevent/irc_struct.go new file mode 100644 index 00000000..3e4a438f --- /dev/null +++ b/vendor/github.com/thoj/go-ircevent/irc_struct.go @@ -0,0 +1,68 @@ +// Copyright 2009 Thomas Jager <mail@jager.no> All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package irc + +import ( + "crypto/tls" + "log" + "net" + "sync" + "time" +) + +type Connection struct { + sync.WaitGroup + Debug bool + Error chan error + Password string + UseTLS bool + TLSConfig *tls.Config + Version string + Timeout time.Duration + PingFreq time.Duration + KeepAlive time.Duration + Server string + + socket net.Conn + pwrite chan string + end chan struct{} + + nick string //The nickname we want. + nickcurrent string //The nickname we currently have. + user string + registered bool + events map[string]map[int]func(*Event) + + QuitMessage string + lastMessage time.Time + + VerboseCallbackHandler bool + Log *log.Logger + + stopped bool + quit bool +} + +// A struct to represent an event. +type Event struct { + Code string + Raw string + Nick string //<nick> + Host string //<nick>!<usr>@<host> + Source string //<host> + User string //<usr> + Arguments []string + Connection *Connection +} + +// Retrieve the last message from Event arguments. +// This function leaves the arguments untouched and +// returns an empty string if there are none. +func (e *Event) Message() string { + if len(e.Arguments) == 0 { + return "" + } + return e.Arguments[len(e.Arguments)-1] +} |