Reconnect on expired session (rocketchat)

This commit is contained in:
Wim 2019-03-29 21:30:26 +01:00
parent caf9ef2c4b
commit 1539185bd4

View File

@ -164,6 +164,14 @@ func (b *Brocketchat) Send(msg config.Message) (string, error) {
rmsg, err := b.c.SendMessage(smsg)
if rmsg == nil {
if strings.Contains(err.Error(), "Invalid or expired session, please login again") {
b.Log.Info("Login expired, reconnecting..")
err := b.apiLogin()
if err != nil {
return "", err
}
b.Remote <- config.Message{Username: "system", Text: "rejoin", Channel: "", Account: b.Account, Event: config.EventRejoinChannels}
}
return "", err
}
return rmsg.ID, err