summaryrefslogtreecommitdiff
path: root/vendor/github.com/fluffle/goirc/client/doc.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/fluffle/goirc/client/doc.go')
-rw-r--r--vendor/github.com/fluffle/goirc/client/doc.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/vendor/github.com/fluffle/goirc/client/doc.go b/vendor/github.com/fluffle/goirc/client/doc.go
new file mode 100644
index 0000000..08a79dd
--- /dev/null
+++ b/vendor/github.com/fluffle/goirc/client/doc.go
@@ -0,0 +1,34 @@
+// Package client implements an IRC client. It handles protocol basics
+// such as initial connection and responding to server PINGs, and has
+// optional state tracking support which will keep tabs on every nick
+// present in the same channels as the client. Other features include
+// SSL support, automatic splitting of long lines, and panic recovery
+// for handlers.
+//
+// Incoming IRC messages are parsed into client.Line structs and trigger
+// events based on the IRC verb (e.g. PRIVMSG) of the message. Handlers
+// for these events conform to the client.Handler interface; a HandlerFunc
+// type to wrap bare functions is provided a-la the net/http package.
+//
+// Creating a client, adding a handler and connecting to a server looks
+// soemthing like this, for the simple case:
+//
+// // Create a new client, which will connect with the nick "myNick"
+// irc := client.SimpleClient("myNick")
+//
+// // Add a handler that waits for the "disconnected" event and
+// // closes a channel to signal everything is done.
+// disconnected := make(chan struct{})
+// c.HandleFunc("disconnected", func(c *client.Conn, l *client.Line) {
+// close(disconnected)
+// })
+//
+// // Connect to an IRC server.
+// if err := c.ConnectTo("irc.freenode.net"); err != nil {
+// log.Fatalf("Connection error: %v\n", err)
+// }
+//
+// // Wait for disconnection.
+// <-disconnected
+//
+package client