Enha: remove bot without room
This commit is contained in:
@ -96,7 +96,6 @@ func (cm *CronManager) CleanupRooms() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If the creator is not in the room or the room is inactive, it's time to delete
|
||||
if !creatorInRoom || isInactive {
|
||||
reason := "creator left"
|
||||
@ -107,7 +106,7 @@ func (cm *CronManager) CleanupRooms() {
|
||||
|
||||
for _, player := range players {
|
||||
if player.IsBot {
|
||||
if err := cm.repo.PlayerDelete(ctx, room.ID, player.Username); err != nil {
|
||||
if err := cm.repo.PlayerDelete(ctx, room.ID); err != nil {
|
||||
cm.log.Error("failed to delete bot player", "room_id", room.ID, "username", player.Username, "err", err)
|
||||
}
|
||||
} else {
|
||||
|
@ -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