Эх сурвалжийг харах

Log startup errors and only try to start users who have a token

Tulir Asokan 3 жил өмнө
parent
commit
17288f3d04
2 өөрчлөгдсөн 8 нэмэгдсэн , 3 устгасан
  1. 1 1
      database/userquery.go
  2. 7 2
      user.go

+ 1 - 1
database/userquery.go

@@ -38,7 +38,7 @@ func (uq *UserQuery) GetByID(id string) *User {
 }
 
 func (uq *UserQuery) GetAll() []*User {
-	rows, err := uq.db.Query(`SELECT mxid, id, management_room, token FROM "user"`)
+	rows, err := uq.db.Query(`SELECT mxid, id, management_room, token FROM "user" WHERE token IS NOT NULL`)
 	if err != nil || rows == nil {
 		return nil
 	}

+ 7 - 2
user.go

@@ -182,8 +182,13 @@ func (br *DiscordBridge) getAllUsers() []*User {
 func (br *DiscordBridge) startUsers() {
 	br.Log.Debugln("Starting users")
 
-	for _, user := range br.getAllUsers() {
-		go user.Connect()
+	for _, u := range br.getAllUsers() {
+		go func(user *User) {
+			err := user.Connect()
+			if err != nil {
+				user.log.Errorfln("Error connecting: %v", err)
+			}
+		}(u)
 	}
 
 	br.Log.Debugln("Starting custom puppets")