瀏覽代碼

Maybe improve connecting errors

Tulir Asokan 6 年之前
父節點
當前提交
97e740d93d
共有 1 個文件被更改,包括 5 次插入5 次删除
  1. 5 5
      user.go

+ 5 - 5
user.go

@@ -161,14 +161,15 @@ func (user *User) Connect(evenIfNoSession bool) bool {
 	_ = user.Conn.SetClientName("Mautrix-WhatsApp bridge", "mx-wa")
 	user.log.Debugln("WhatsApp connection successful")
 	user.Conn.AddHandler(user)
-	user.RestoreSession()
-	return true
+	return user.RestoreSession()
 }
 
 func (user *User) RestoreSession() bool {
 	if user.Session != nil {
 		sess, err := user.Conn.RestoreWithSession(*user.Session)
-		if err != nil {
+		if err == whatsapp.ErrAlreadyLoggedIn {
+			return true
+		} else if err != nil {
 			user.log.Errorln("Failed to restore session:", err)
 			msg := format.RenderMarkdown(fmt.Sprintf("\u26a0 Failed to connect to WhatsApp. Make sure WhatsApp "+
 				"on your phone is reachable and use `%s reconnect` to try connecting again.",
@@ -179,9 +180,8 @@ func (user *User) RestoreSession() bool {
 		user.Connected = true
 		user.SetSession(&sess)
 		user.log.Debugln("Session restored successfully")
-		return true
 	}
-	return false
+	return true
 }
 
 func (user *User) IsLoggedIn() bool {