Enha: remove bot without room
This commit is contained in:
		| @@ -1,6 +1,9 @@ | ||||
| package crons | ||||
|  | ||||
| import "context" | ||||
| import ( | ||||
| 	"context" | ||||
| 	"gralias/llmapi" | ||||
| ) | ||||
|  | ||||
| func (cm *CronManager) CleanupPlayersRoom() { | ||||
| 	ctx, tx, err := cm.repo.InitTx(context.Background()) | ||||
| @@ -43,11 +46,24 @@ func (cm *CronManager) CleanupPlayersRoom() { | ||||
| 			} | ||||
| 		} | ||||
| 		if !found { | ||||
| 			// delete roomid from player | ||||
| 			if err := cm.repo.PlayerExitRoom(ctx, player.Username); err != nil { | ||||
| 				cm.log.Error("failed to unset room", "err", err) | ||||
| 				if err := tx.Rollback(); err != nil { | ||||
| 					cm.log.Error("failed to rollback transaction for actions cleanup", "err", err) | ||||
| 			cm.log.Debug("player routine; not found room", "username", player.Username) | ||||
| 			if !player.IsBot && player.RoomID != nil { | ||||
| 				// delete roomid from player | ||||
| 				if err := cm.repo.PlayerExitRoom(ctx, player.Username); err != nil { | ||||
| 					cm.log.Error("failed to unset room", "err", err) | ||||
| 					if err := tx.Rollback(); err != nil { | ||||
| 						cm.log.Error("failed to rollback transaction for actions cleanup", "err", err) | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 			if player.IsBot { | ||||
| 				cm.log.Debug("trying to remove bot", "name", player.Username) | ||||
| 				// delete player and stop the bot | ||||
| 				if err := llmapi.RemoveBotNoRoom(player.Username); err != nil { | ||||
| 					cm.log.Error("failed to remove bot", "err", err) | ||||
| 					if err := tx.Rollback(); err != nil { | ||||
| 						cm.log.Error("failed to rollback transaction for actions cleanup", "err", err) | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Grail Finder
					Grail Finder