     case Baja = "baja"
     case Cancha = "cancha"
     case Capitanes = "capitanes"
+    case NuevaLista = "nuevalista"
 }
 
 enum Team : String {

            
            switch message {
                
            case "/hola":
                return try JSON(node: [
                    "method": "sendMessage",
                    "chat_id": chatID,
                    "text": "Hola @\(user.alias)! Bienvenido a HayFulBot =)",
                    ])
                
            case "/lista" , "/lista@hayfulbot":
                return try showList(nil)
                
            case "/nuevalista":
                return try newList()
                
            case "/mebajo":
                return try removePlayer(user , nil)
                
            case _ where message.lowercased().hasPrefix("/canchade"):
                return try showOneRowKeyboard(withQuestion: "¿De cuánto es la cancha?", options: [5,6,8,11], action: .Cancha)
                
            case "/golazo":
                return try JSON(node: [
                    "method": "sendDocument",
                    "chat_id": chatID,
                    "caption": "¿¿Pidieron a Iniesta??",
                    "document": "CgADAQADDQADC3xwR9T4eWaEHnjMAg",
                    "disable_notification": true,
                    ])
                
            case _ where message.lowercased().hasPrefix("/juega "):
                let playersArray = message.replacingOccurrences(of: "/juega ",
                                                                with: "",
                                                                options: .caseInsensitive,
                                                                range: message.range(of: message)).trim().commaSeparatedArray()
                if playersArray.count > 0 {
                    for p in playersArray {
                        guard p.trim() != "" else {continue}
                        let newPlayer = User(id: "falopa", firstName: p, lastName: "·", alias: p + "Guest")
                        players.addGuest(player: newPlayer)
                    }
                } else { return try showList("\(user.firstName) NO estás anotando a nadie 🤔") }
                return try showList("Gracias \(user.firstName) por agregar jugadores 🙌🏻")
                
            case "/baja":
                return try showBajaKeyboard()
                
            case "/capitanes":
                return try processCaptains()
            
            case _ where message.lowercased().hasPrefix("/nuevoscapitanes"):
                if players.capitanes.count > 0 {
                    return try showOneRowKeyboard(withQuestion: "Capitanes acutales:\n\(players.showCaptains())\n\n¿Reasignar capitanes?", options: ["Si", "No"], action: .Capitanes)
                } else {
                    return try processCaptains()
                }
                
            case _ where message.lowercased().contains("iniesta"):
                return try JSON(node: [
                    "method": "sendDocument",
                    "chat_id": chatID,
                    "caption": "¿¿Pidieron a Iniesta??",
                    "document": "CgADAQADZwwAAkeJSwABykG1j0MYfQoC",
                    "disable_notification": true,
                    ])
            
            default:
                if message.hasPrefix("/") {
                    return try showList("\(user.firstName), ese comado no existe...")
                } else {
                    return try JSON(node: [
                        "message": "Está vacío"])
                }
            }
        }
    }
    
    func processCaptains() throws -> JSON {
        if setCapitanes() || players.capitanes.count > 0  {
            return try showList("\(user.firstName), los capitanes son:\n" + players.showCaptains())
        } else {
            return try showList("\(user.firstName), falta completar la lista de titulares para sortear *_capitanes_*")
        }

        case _ where callBackQueryData.contains(CallbackType.Capitanes.rawValue):
            callBackQueryDataType = .Capitanes
            
        case _ where callBackQueryData.contains(CallbackType.NuevaLista.rawValue):
            callBackQueryDataType = .NuevaLista
            
        default:
            callBackQueryDataType = .Juego
        }
