diff --git a/bridge/irc/irc.go b/bridge/irc/irc.go index 4919c85d..910ab2aa 100644 --- a/bridge/irc/irc.go +++ b/bridge/irc/irc.go @@ -114,18 +114,19 @@ func (b *Birc) Connect() error { go func() { for { if err := i.Connect(); err != nil { - b.Log.Errorf("error: %s", err) - b.Log.Info("reconnecting in 30 seconds...") - time.Sleep(30 * time.Second) - i.Handlers.Clear(girc.RPL_WELCOME) - i.Handlers.Add(girc.RPL_WELCOME, func(client *girc.Client, event girc.Event) { - b.Remote <- config.Message{Username: "system", Text: "rejoin", Channel: "", Account: b.Account, Event: config.EVENT_REJOIN_CHANNELS} - // set our correct nick on reconnect if necessary - b.Nick = event.Source.Name - }) + b.Log.Errorf("disconnect: error: %s", err) } else { - return + b.Log.Info("disconnect: client requested quit") } + + b.Log.Info("reconnecting in 30 seconds...") + time.Sleep(30 * time.Second) + i.Handlers.Clear(girc.RPL_WELCOME) + i.Handlers.Add(girc.RPL_WELCOME, func(client *girc.Client, event girc.Event) { + b.Remote <- config.Message{Username: "system", Text: "rejoin", Channel: "", Account: b.Account, Event: config.EVENT_REJOIN_CHANNELS} + // set our correct nick on reconnect if necessary + b.Nick = event.Source.Name + }) } }() b.i = i