summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
+ }
}