mirror of https://github.com/fluffle/goirc
Update example client.
This commit is contained in:
parent
3e1b2c0f81
commit
d119e6bca0
20
client.go
20
client.go
|
@ -20,12 +20,6 @@ func main() {
|
||||||
c.AddHandler("disconnected",
|
c.AddHandler("disconnected",
|
||||||
func(conn *irc.Conn, line *irc.Line) { quit <- true })
|
func(conn *irc.Conn, line *irc.Line) { quit <- true })
|
||||||
|
|
||||||
// connect to server
|
|
||||||
if err := c.Connect("irc.freenode.net"); err != nil {
|
|
||||||
fmt.Printf("Connection error: %s\n", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// set up a goroutine to read commands from stdin
|
// set up a goroutine to read commands from stdin
|
||||||
in := make(chan string, 4)
|
in := make(chan string, 4)
|
||||||
reallyquit := false
|
reallyquit := false
|
||||||
|
@ -80,17 +74,13 @@ func main() {
|
||||||
}()
|
}()
|
||||||
|
|
||||||
for !reallyquit {
|
for !reallyquit {
|
||||||
select {
|
// connect to server
|
||||||
case err := <-c.Err:
|
|
||||||
fmt.Printf("goirc error: %s\n", err)
|
|
||||||
case <-quit:
|
|
||||||
if !reallyquit {
|
|
||||||
fmt.Println("Reconnecting...")
|
|
||||||
if err := c.Connect("irc.freenode.net"); err != nil {
|
if err := c.Connect("irc.freenode.net"); err != nil {
|
||||||
fmt.Printf("Connection error: %s\n", err)
|
fmt.Printf("Connection error: %s\n", err)
|
||||||
reallyquit = true
|
return
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// wait on quit channel
|
||||||
|
<-quit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue