From ada6a6db8245c49f2f2b0b9d46c03f7ab5ac69fd Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 16 Aug 2015 13:06:36 +0200 Subject: Reconnect --- main.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'main.go') 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 + } } -- cgit v1.2.3