Forget stored token when receiving error code 4004
This commit is contained in:
9
user.go
9
user.go
@@ -10,6 +10,7 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/gorilla/websocket"
|
||||||
log "maunium.net/go/maulogger/v2"
|
log "maunium.net/go/maulogger/v2"
|
||||||
|
|
||||||
"github.com/bwmarrin/discordgo"
|
"github.com/bwmarrin/discordgo"
|
||||||
@@ -223,7 +224,13 @@ func (br *DiscordBridge) startUsers() {
|
|||||||
err := user.Connect()
|
err := user.Connect()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
user.log.Errorfln("Error connecting: %v", err)
|
user.log.Errorfln("Error connecting: %v", err)
|
||||||
user.BridgeState.Send(bridge.State{StateEvent: bridge.StateUnknownError, Message: err.Error()})
|
if closeErr := (&websocket.CloseError{}); errors.As(err, &closeErr) && closeErr.Code == 4004 {
|
||||||
|
user.BridgeState.Send(bridge.State{StateEvent: bridge.StateBadCredentials, Message: err.Error()})
|
||||||
|
user.DiscordToken = ""
|
||||||
|
user.Update()
|
||||||
|
} else {
|
||||||
|
user.BridgeState.Send(bridge.State{StateEvent: bridge.StateUnknownError, Message: err.Error()})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}(u)
|
}(u)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user