Syntax highlighting for source code in README.md

Markdown knows about golang, so use the source (formatting) luke
This commit is contained in:
John Barker 2016-03-02 18:19:47 +00:00
parent 6277eb6e2d
commit 0b121522bb
1 changed files with 41 additions and 40 deletions

View File

@ -15,54 +15,55 @@ old `go1` API.
### Using the framework ### Using the framework
Synopsis: Synopsis:
```go
package main
package main import (
"crypto/tls"
"fmt"
import ( irc "github.com/fluffle/goirc/client"
"crypto/tls" )
"fmt"
irc "github.com/fluffle/goirc/client" func main() {
) // Creating a simple IRC client is simple.
c := irc.SimpleClient("nick")
func main() { // Or, create a config and fiddle with it first:
// Creating a simple IRC client is simple. cfg := irc.NewConfig("nick")
c := irc.SimpleClient("nick") cfg.SSL = true
cfg.SSLConfig = &tls.Config{ServerName: "irc.freenode.net"}
cfg.Server = "irc.freenode.net:7000"
cfg.NewNick = func(n string) string { return n + "^" }
c = irc.Client(cfg)
// Or, create a config and fiddle with it first: // Add handlers to do things here!
cfg := irc.NewConfig("nick") // e.g. join a channel on connect.
cfg.SSL = true c.HandleFunc(irc.CONNECTED,
cfg.SSLConfig = &tls.Config{ServerName: "irc.freenode.net"} func(conn *irc.Conn, line *irc.Line) { conn.Join("#channel") })
cfg.Server = "irc.freenode.net:7000" // And a signal on disconnect
cfg.NewNick = func(n string) string { return n + "^" } quit := make(chan bool)
c = irc.Client(cfg) c.HandleFunc(irc.DISCONNECTED,
func(conn *irc.Conn, line *irc.Line) { quit <- true })
// Add handlers to do things here! // Tell client to connect.
// e.g. join a channel on connect. if err := c.Connect(); err != nil {
c.HandleFunc(irc.CONNECTED, fmt.Printf("Connection error: %s\n", err.Error())
func(conn *irc.Conn, line *irc.Line) { conn.Join("#channel") })
// And a signal on disconnect
quit := make(chan bool)
c.HandleFunc(irc.DISCONNECTED,
func(conn *irc.Conn, line *irc.Line) { quit <- true })
// Tell client to connect.
if err := c.Connect(); err != nil {
fmt.Printf("Connection error: %s\n", err.Error())
}
// With a "simple" client, set Server before calling Connect...
c.Config().Server = "irc.freenode.net"
// ... or, use ConnectTo instead.
if err := c.ConnectTo("irc.freenode.net"); err != nil {
fmt.Printf("Connection error: %s\n", err.Error())
}
// Wait for disconnect
<-quit
} }
// With a "simple" client, set Server before calling Connect...
c.Config().Server = "irc.freenode.net"
// ... or, use ConnectTo instead.
if err := c.ConnectTo("irc.freenode.net"); err != nil {
fmt.Printf("Connection error: %s\n", err.Error())
}
// Wait for disconnect
<-quit
}
```
The test client provides a good (if basic) example of how to use the framework. The test client provides a good (if basic) example of how to use the framework.
Reading `client/handlers.go` gives a more in-depth look at how handlers can be Reading `client/handlers.go` gives a more in-depth look at how handlers can be
written. Commands to be sent to the server (e.g. PRIVMSG) are methods of the written. Commands to be sent to the server (e.g. PRIVMSG) are methods of the