summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-08-16 13:06:36 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-08-16 13:06:36 +0200
commitada6a6db8245c49f2f2b0b9d46c03f7ab5ac69fd (patch)
tree8492473def61362436da1d9c76ae8ce83223672a
parent82ad868ee1e6e8f3c5f6ef3bb5c47549413951ec (diff)
Reconnect
-rw-r--r--main.go18
1 files changed, 11 insertions, 7 deletions
diff --git a/main.go b/main.go
index 8e2c086..5f99cfe 100644
--- a/main.go
+++ b/main.go
@@ -13,6 +13,8 @@ var (
name = flag.String("name", "dim13", "Bots Name")
)
+const maxDiscon = 3
+
func init() {
flag.Parse()
}
@@ -21,10 +23,10 @@ func main() {
c := irc.SimpleClient(*name)
c.EnableStateTracking()
- quit := make(chan bool)
+ discon := make(chan bool)
c.HandleFunc(irc.DISCONNECTED,
func(conn *irc.Conn, line *irc.Line) {
- quit <- true
+ discon <- true
})
c.HandleFunc(irc.CONNECTED,
@@ -50,11 +52,13 @@ func main() {
}
})
- if err := c.ConnectTo(*server); err != nil {
- log.Fatal(err)
- }
-
go AutoSave()
- <-quit
+ for n := 0; n < maxDiscon; n++ {
+ log.Println("Connect to", *server)
+ if err := c.ConnectTo(*server); err != nil {
+ log.Fatal(err)
+ }
+ <-discon
+ }
}