Pronósticos de partidos en tu liga de HaxBall: puntaje, cierre y ranking

Actualizada el 11 de octubre de 2026 · 9 min de lectura

Los pronósticos son el juego más barato para mantener viva una liga entre fecha y fecha: cada miembro del servidor elige si gana el local, empatan o gana la visita, y Spike lleva la cuenta de los aciertos. Esta guía explica cómo se publican, cuándo se cierran, cómo se reparten los puntos (con números reales del código) y qué hacer para que la gente participe todas las semanas.

Cómo funcionan los pronósticos

El sistema es un 1X2 clásico. Por cada partido de la liga, Spike publica un mensaje con un embed y tres botones: el equipo local (1), Empate (X) y el equipo visitante (2). El embed muestra los nombres de los equipos, sus escudos si los tienen configurados, tres barras con el porcentaje de votos de cada opción y el total de votos. Cuando el partido tiene hora asignada, también aparece “cierra” con un contador relativo.

Las reglas básicas, todas verificadas en el código del bot:

  • Cada persona pronostica una sola vez por partido y el pronóstico es definitivo: si vuelve a pulsar un botón, Spike le responde, solo a ella, con lo que ya eligió y no cambia nada.
  • Al votar, el mensaje se actualiza al instante con los nuevos porcentajes.
  • Nadie puede ver qué votó otra persona: solo se muestran totales y porcentajes. Cada quien consulta los suyos con /pronosticos mios.
  • Acertar vale 1 punto y fallar vale 0. No hay puntos por marcador exacto ni por goles.
  • Los pronósticos dependen del mercado y de su fixture: se abren por fecha de la liga y los puntos se acumulan por mercado y temporada.

Para apoyarte en los partidos y sus horas necesitas tener el fixture creado, tema que se explica en la guía para organizar una liga y en la sección de partidos.

Publicar una fecha

Solo un administrador del servidor o quien tenga el rol de organizador del mercado puede abrir pronósticos. El comando es:

/pronosticos abrir mercado: Liga1 fecha: 3
/pronosticos abrir mercado: Liga1 fecha: 3 canal: #pronosticos

mercado se autocompleta y fecha es el número de la jornada (de 1 a 200). canal es opcional; si lo omites, se publica en el canal donde escribiste el comando. Acepta canales de texto, hilos y foros. En un foro, el primer partido crea una publicación titulada “Pronósticos · Fecha 3 · Liga1” y los demás se envían dentro de ella.

Spike envía un mensaje por partido, así que una fecha de seis partidos son seis mensajes con sus propios botones. Para publicar, el bot necesita ver el canal, enviar mensajes e incrustar enlaces. El permiso de adjuntar archivos es opcional: lo usa para el escudo del partido, y si falta, el mensaje sale sin escudo. Solo se incluyen partidos que ya tengan los dos equipos definidos.

El comando puede responder con estos errores:

  • La fecha no tiene partidos: revisa el número o crea el fixture primero.
  • Todos los partidos de la fecha ya empezaron o tienen resultado: no queda nada que pronosticar.
  • El bot no puede enviar mensajes en ese canal: revisa sus permisos allí.

Una advertencia práctica: /pronosticos abrir no comprueba si esa fecha ya estaba publicada. Si lo ejecutas dos veces, aparecen dos juegos de mensajes. Los votos se guardan por partido, así que ambos se mantienen sincronizados, pero el canal queda duplicado y confunde.

Apertura automática

Si prefieres no abrir cada fecha a mano, actívala una vez por mercado:

/pronosticos auto mercado: Liga1 activar: true canal: #pronosticos
/pronosticos auto mercado: Liga1 activar: false

Si no indicas canal, Spike usa el que ya tenía configurado ese mercado y, en su defecto, el canal actual. El bot revisa cada minuto y también al registrarse cada resultado. La regla del código es esta: toma la fecha más baja que aún no se publicó y que tenga partidos abiertos, y la publica si ocurre una de dos cosas.

  1. Todas las fechas anteriores ya no tienen partidos pendientes (jugados, suspendidos o aplazados cuentan como terminados).
  2. Faltan 24 horas o menos para el primer partido de esa fecha que tenga hora asignada.

Un ejemplo: la fecha 1 se completó el domingo. En cuanto cargas el último resultado, Spike publica la fecha 2 aunque su primer partido sea el sábado siguiente. Si en cambio la fecha 1 todavía tiene un partido pendiente, la fecha 2 espera hasta estar a 24 horas de su primer partido con hora. Una fecha publicada a mano también cuenta como publicada, así que la automática no la repite.

La apertura automática no se encarga de rondas de copa. Si el bot pierde permisos en el canal configurado, desactiva la apertura automática de ese mercado para no reintentar cada minuto: tendrás que corregir los permisos y volver a ejecutar /pronosticos auto con activar: true.

Plazos y cierre de cada partido

Un partido acepta pronósticos mientras se cumplan todas estas condiciones, comprobadas en el momento exacto en que alguien pulsa un botón:

  • Tiene los dos equipos asignados.
  • Su estado sigue siendo pendiente (no está jugado, suspendido ni aplazado).
  • No tiene marcador cargado.
  • Si tiene día y hora, todavía no llegó esa hora. En el instante exacto de la hora ya está cerrado.

Si el partido no tiene hora asignada, no hay plazo por reloj: se puede votar hasta que alguien cargue el resultado o cambie el estado. Eso abre la puerta a votos con el partido ya jugado, por lo que conviene asignar la hora a cada partido de la fecha con /fixture editar:

/fixture editar partido: 12 dia_hora: 12/10 21:00
/fixture editar partido: 12 dia_hora: 12/10 21:00 utc: -3

La hora se interpreta en UTC-5 si no indicas utc. Puedes escribir la fecha como 12/10 21:00, 2026-10-12 21:00 o un timestamp de Discord.

El bloqueo es exacto al pulsar, pero los botones se deshabilitan con un ciclo que corre cada minuto, así que durante unos segundos puede verse activo un botón de un partido ya cerrado: si alguien lo pulsa, Spike avisa que está cerrado y no guarda nada. Al cargar el resultado, el título muestra el marcador, el estado dice “finalizado” y el botón de la opción acertada se pinta de verde.

Puntaje y desempates con ejemplos

El resultado de un partido es 1, X o 2 según el marcador que cargues con /fixture set-resultado (o desde el panel). Solo cuenta si el estado es jugado y ambos goles son números válidos:

MarcadorResultadoQuién suma 1 punto
3 - 11Quien votó al local
2 - 2 (o 0 - 0)XQuien votó Empate
0 - 42Quien votó a la visita
Suspendido o aplazadoSin resultadoNadie: el voto queda sin resolver y no cuenta

Los puntos se calculan en cuanto Spike registra el resultado, y si corriges el marcador, se recalculan. Por ejemplo, un 2 - 1 que luego se corrige a 1 - 2 convierte en acierto el voto a la visita y en fallo el voto al local. Los mensajes publicados se refrescan solos.

Los porcentajes de las barras son enteros que siempre suman 100. Con 3 votos repartidos 1, 1 y 1 verás 34%, 33% y 33%; con 3 votos al local y 1 a la visita, 75%, 0% y 25%. Cada barra tiene 10 tramos y, si una opción tiene al menos un voto, siempre muestra uno como mínimo.

Cómo se ordena la tabla

La tabla suma los puntos de todos los partidos resueltos del mercado en la temporada actual. Se ordena por puntos, luego por porcentaje de acierto, luego por cantidad de partidos resueltos y, como último recurso, por el identificador de Discord. Un ejemplo con cuatro participantes:

PersonaVotos resueltosAciertosPuntos%Puesto
Diego96666,71
Beto65583,32
Ana75571,43
Carla85562,54

Diego manda por puntos. Beto, Ana y Carla empatan en 5, y el desempate por porcentaje favorece a quien acertó más de lo que votó. Si Ana además tuviera un voto en un partido todavía sin resolver, ese voto aparece como pronóstico hecho pero no entra en su porcentaje. Esto implica que votar en todo suma oportunidades de puntos, pero un acierto perfecto en pocos partidos puede ganar un desempate.

Tabla, mis pronósticos y panel web

Hay tres formas de ver cómo va la competencia:

  • /pronosticos tabla mercado: Liga1: respuesta pública con el ranking. Muestra los 20 primeros con puntos, aciertos sobre resueltos y porcentaje. Si quien lo usa está fuera del top 20, el pie muestra su posición. Solo aparecen quienes ya tienen algún voto resuelto.
  • /pronosticos mios: respuesta privada con tu resumen (puntos, aciertos, porcentaje, total de pronósticos) y tus 12 pronósticos más recientes, marcados con acierto, fallo o un punto si siguen sin resolver. El mercado es opcional.
  • La sección Pronósticos del panel web, en el menú lateral de cada servidor: una tabla de acertantes con avatar, puntos, aciertos y porcentaje, y debajo los votos por fecha, partido a partido, con la barra de distribución 1 / X / 2 y el resultado. Es de solo lectura: las fechas se abren desde Discord.

En el panel puedes cambiar de mercado y de fecha. La fecha que se muestra por defecto es la última en la que hubo votos. Los datos pueden tardar unos segundos en reflejar el último voto.

Cómo animar a la comunidad cada fecha

Los botones resuelven la mecánica, pero la participación se sostiene con costumbres. Estas ideas funcionan con lo que Spike ya hace:

  • Ritmo fijo. Publica la fecha el mismo día de la semana y avisa en el canal general. Con la apertura automática solo necesitas decidir en qué canal y mencionar a la comunidad.
  • Horas visibles. Asigna la hora de cada partido: el contador de cierre crea urgencia y evita votos tardíos.
  • Tabla antes y después. Ejecuta /pronosticos tabla al abrir la fecha y otra vez al cerrarla; la comparación te da el relato de quién subió o bajó.
  • Resalta lo inesperado. Las barras muestran qué opinaba la mayoría. Cuando gana la opción que votó el 15%, cuéntalo: es el mejor contenido de la semana.
  • Premios simbólicos. Un rol o un apodo para quien lidere al cierre de temporada. El bot no entrega premios, eso lo decides tú.
  • Rivalidades. Anima a que los DT pronostiquen su propio partido: los votos son privados, pero los porcentajes se ven.

Piensa también en el efecto de los porcentajes visibles: quien vota tarde ve la tendencia y puede seguirla. Si quieres votos más independientes, pide que se vote antes de compartir capturas del embed.

Cuando termine el torneo, el cierre de temporada archiva los pronósticos de ese mercado: dejan de aparecer en la tabla actual y los mensajes viejos se desactivan. Si te interesa conservar el ranking, copia o captura la tabla antes de cerrar.

Problemas frecuentes

  • No aparece el botón de pronóstico en un partido. Faltan equipos o el partido ya tiene estado distinto a pendiente. Los botones también salen deshabilitados cuando el partido ya empezó.
  • La tabla está vacía. Solo cuentan los votos resueltos: hasta que no cargues un resultado, el ranking no muestra a nadie.
  • Un partido cambió de hora. Edita la hora con /fixture editar antes de que empiece: el cierre siempre usa la hora guardada en ese momento.
  • Cambié los equipos de un partido ya publicado. Los votos son “local”, “empate” o “visita”, no un equipo concreto, así que evita cambiarlos cuando ya hay votos.

Preguntas frecuentes

¿Se puede cambiar un pronóstico?

No. Es definitivo desde el primer clic; el segundo clic solo recuerda lo elegido.

¿Quién puede votar?

Cualquier persona que vea el canal y pueda usar los botones del mensaje. El código no pide ningún rol.

¿Puedo tener una tabla por fecha?

No: la tabla es acumulada por mercado y temporada. El panel muestra los votos por fecha, pero no el ranking de cada una. Para un ranking semanal, compara capturas de la tabla antes y después.

Más guías