Enha: remove bot without room
This commit is contained in:
		| @@ -345,13 +345,31 @@ func RemoveBot(botName string, room *models.Room) error { | ||||
| 	// remove role from room | ||||
| 	room.RemovePlayer(botName) | ||||
| 	slog.Debug("removing bot player", "name", botName, "room_id", room.ID, "room", room) | ||||
| 	if err := repo.PlayerDelete(context.Background(), room.ID, botName); err != nil { | ||||
| 	if err := repo.PlayerDelete(context.Background(), botName); err != nil { | ||||
| 		slog.Error("failed to remove bot player", "name", botName, "room_id", room.ID) | ||||
| 		return err | ||||
| 	} | ||||
| 	return saveRoom(room) | ||||
| } | ||||
|  | ||||
| func RemoveBotNoRoom(botName string) error { | ||||
| 	// channels | ||||
| 	dc, ok := DoneChanMap[botName] | ||||
| 	if ok { | ||||
| 		dc <- true | ||||
| 		close(DoneChanMap[botName]) | ||||
| 	} | ||||
| 	sc, ok := SignalChanMap[botName] | ||||
| 	if ok { | ||||
| 		close(sc) | ||||
| 	} | ||||
| 	// maps | ||||
| 	delete(DoneChanMap, botName) | ||||
| 	delete(SignalChanMap, botName) | ||||
| 	// remove role from room | ||||
| 	return repo.PlayerDelete(context.Background(), botName) | ||||
| } | ||||
|  | ||||
| // EndBot | ||||
|  | ||||
| func NewBot(role, team, name, roomID string, cfg *config.Config, recovery bool) (*Bot, error) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Grail Finder
					Grail Finder