forked from MirrorHub/mautrix-whatsapp
Report WhatsApp server connection errors to user too. Fixes #18
This commit is contained in:
parent
b5af35684d
commit
2381eb029b
2 changed files with 9 additions and 2 deletions
|
@ -118,7 +118,10 @@ const cmdLoginHelp = `login - Authenticate this Bridge as WhatsApp Web Client`
|
||||||
// CommandLogin handles login command
|
// CommandLogin handles login command
|
||||||
func (handler *CommandHandler) CommandLogin(ce *CommandEvent) {
|
func (handler *CommandHandler) CommandLogin(ce *CommandEvent) {
|
||||||
if ce.User.Conn == nil {
|
if ce.User.Conn == nil {
|
||||||
ce.User.Connect(true)
|
if !ce.User.Connect(true) {
|
||||||
|
ce.User.log.Debugln("Connect() returned false, assuming error was logged elsewhere and canceling login.")
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ce.User.Login(ce)
|
ce.User.Login(ce)
|
||||||
}
|
}
|
||||||
|
|
6
user.go
6
user.go
|
@ -152,13 +152,17 @@ func (user *User) Connect(evenIfNoSession bool) bool {
|
||||||
conn, err := whatsapp.NewConn(timeout * time.Second)
|
conn, err := whatsapp.NewConn(timeout * time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
user.log.Errorln("Failed to connect to WhatsApp:", err)
|
user.log.Errorln("Failed to connect to WhatsApp:", err)
|
||||||
|
msg := format.RenderMarkdown(fmt.Sprintf("\u26a0 Failed to connect to WhatsApp server. " +
|
||||||
|
"This indicates a network problem on the bridge server. See bridge logs for more info."))
|
||||||
|
_, _ = user.bridge.Bot.SendMessageEvent(user.ManagementRoom, mautrix.EventMessage, msg)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
user.Conn = whatsappExt.ExtendConn(conn)
|
user.Conn = whatsappExt.ExtendConn(conn)
|
||||||
_ = user.Conn.SetClientName("Mautrix-WhatsApp bridge", "mx-wa")
|
_ = user.Conn.SetClientName("Mautrix-WhatsApp bridge", "mx-wa")
|
||||||
user.log.Debugln("WhatsApp connection successful")
|
user.log.Debugln("WhatsApp connection successful")
|
||||||
user.Conn.AddHandler(user)
|
user.Conn.AddHandler(user)
|
||||||
return user.RestoreSession()
|
user.RestoreSession()
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (user *User) RestoreSession() bool {
|
func (user *User) RestoreSession() bool {
|
||||||
|
|
Loading…
Reference in a new issue