summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/thoj/go-ircevent/irc_struct.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/thoj/go-ircevent/irc_struct.go')
-rw-r--r--vendor/github.com/thoj/go-ircevent/irc_struct.go68
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]
+}