Scoreboards Documentation

Everything you need to create and manage Discord leaderboards

  1. Añade el bot — Invita a Scoreboards a tu server de Discord con el enlace de invitación de la página principal.
  2. Pasa por el asistente — Usa /get started: un formulario rápido para ponerle nombre al ranking, elegir el tipo y, si quieres, un canal de logs — y se publica directamente en el canal. Los rankings de puntos, Highscore y Time arrancan con un par de entradas de ejemplo para que veas cómo se comporta el ranking; desaparecen en cuanto llega la primera puntuación real.
  3. Asigna los roles — Abre el panel para definir el rol <arg>bot permission</arg> (quién puede gestionar rankings) y el rol <arg>validator</arg> (quién puede aprobar envíos).
  4. Crea tu primer ranking — Usa /scoreboard create para montarlo: elige nombre y tipo, y el resto lo ajustas en el formulario que se abre.
  5. Publícalo — Usa /scoreboard show en un canal para colocar el ranking interactivo, con botones de envío y paginación.

Al crear un ranking con /scoreboard create eliges entre seis tipos:

Classic

Suma o resta puntos a un total acumulado. Ideal para juegos en los que la puntuación se va sumando partida a partida.

Highscore

Guarda solo la mejor marca de cada jugador. Las puntuaciones anteriores más bajas se sustituyen solas.

Time (Speedrun)

Envía tiempos como 00:00:00 (centésimas) o 00:00:000 (milisegundos): el formato de cada ranking se elige en el panel, y los rankings nuevos usan milisegundos por defecto. Ordena de menor a mayor si gana el más rápido, o de mayor a menor si gana el que más aguanta.

ELO - Ranked

Sistema ELO competitivo, en 1v1 o en equipos de 2v2 a 8v8. Envía el resultado del match y el rating de cada participante se actualiza solo.

Rating

Los miembros suben imágenes y la comunidad las vota con estrellas (1–10). La media de los votos es la puntuación. Perfecto para concursos de arte y retos creativos.

League

Ranking por puntos basado en matches, para fútbol, baloncesto o FIFA. Configuras los puntos por victoria, empate y derrota (3/1/0 por defecto) y el marcador de cada match (por ejemplo, 3-1).

Gestión de rankings

ComandoDescripciónPermiso
/scoreboard createCrea un ranking nuevo — elige nombre y tipo, y ajusta el orden y más en el formularioAdmin / Bot Permission
/scoreboard showMuestra el ranking en el canal actual, con botones interactivosAdmin / Bot Permission
/scoreboard settingsAbre el panel para gestionar los ajustes de este scoreboard (orden, visibilidad, encabezados, modo de vista, configuración de ELO y más)Admin / Bot Permission
/scoreboard deleteBorra un ranking y todos sus datos para siempre (pide confirmación)Admin / Bot Permission
/scoreboard season endTermina una temporada congelando el ranking — la clasificación queda como registro permanente, y puedes descongelar desde el panel para continuarAdmin / Bot Permission
/importImporta puntuaciones a un ranking desde un archivo CSV (para migrar desde otro bot o desde una hoja de cálculo)Admin / Bot Permission

Envíos de puntuaciones y matches

ComandoDescripciónPermiso
/submitEnvía a cualquier ranking. El bot abre el paso que toca según el tipo: un modal de puntuación (Classic/Highscore/Time), un selector de jugador y ganador (ELO), un selector de jugador y marcador (League) o un modal de nombre (Rating, con la imagen adjunta al comando). En un ranking por equipos, los selectores piden la alineación completa de cada bando.Todos
/setFija a mano la puntuación o el rating ELO exacto de un jugadorAdmin / Bot Permission
/adjustSuma o resta un valor a la puntuación de un jugador (usa valores negativos para restar)Admin / Bot Permission
/player removeSaca a un jugador del rankingAdmin / Bot Permission

Configuración

ComandoDescripciónPermiso
/get startedAbre el asistente de configuración inicialAdmin
/helpConsulta la ayuda interactiva con todos los temas disponiblesTodos

Hay dos formas de enviar:

  • Usa el comando /submit y elige un ranking. El bot abre el modal que corresponda según el tipo: entrada de puntuación para Classic/Highscore/Time, selector de jugador y ganador para ELO, selector de jugador y marcador para League, o entrada de nombre para Rating (con la imagen adjunta al comando). En un ranking por equipos, los selectores te piden la alineación completa de cada bando en vez de un solo jugador.
  • Pulsa el botón Submit del mensaje del ranking para abrir ese mismo flujo.

Proceso de revisión

  1. El envío se publica en el canal de logs configurado (si lo hay).
  2. Un validador o un admin pulsa Approve o Reject.
  3. Si se rechaza, quien lo envió recibe un DM con el motivo.
  4. Si se aprueba, el ranking se actualiza al instante.

Aprobación automática

Cada ranking puede aprobar los envíos automáticamente pasado el tiempo que elijas: desactivada, al instante, 1 hora, 3 horas, 24 horas, 3 días o 7 días. En los rankings ELO son 24 horas por defecto.

Anular una puntuación

Los admins y los validadores pueden anular una puntuación ya aprobada: haz clic derecho en el mensaje del envío y elige «Cancel Score/Match». Eso revierte el cambio de puntuación y hay que indicar un motivo.

El tipo de ranking ELO - Ranked ordena a los jugadores por nivel con un sistema de rating ELO, en 1v1 o en equipos de hasta ocho por bando.

Cómo funciona

  • Cada jugador arranca con un ELO inicial configurable (1200 por defecto).
  • Un match puede acabar en victoria, derrota o empate.
  • Los ratings se calculan con un factor K de 32.
  • El rating de todos los participantes se actualiza a la vez en cuanto se aprueba el resultado.

Matches por equipos (2v2 – 8v8)

Los rankings ELO y League pueden tener un tamaño de equipo fijo: lo eliges al crear el ranking o lo cambias después en Match format, dentro del panel. A partir de ahí, cada match de un ranking 3v3 se juega tres contra tres, y la clasificación sigue siendo individual.

En ELO, el resultado esperado de cada equipo sale de su rating medio, y el cambio se aplica a todos sus integrantes: ganar a un equipo más fuerte da la misma subida a todo el bando vencedor. En League, cada jugador del equipo ganador se lleva los puntos de victoria, y todo el equipo perdedor, los de derrota.

Queue de matchmaking (Beta)

Si el botón de queue está activado en el ranking, los jugadores pueden pulsarlo para entrar en la queue de matchmaking. El sistema junta a jugadores con un ELO parecido usando un algoritmo de ventana que se va ampliando. Cuando hay match se crea un hilo con botones para que la comunidad vote el resultado. Si en 5 minutos no aparece rival, la entrada en la queue caduca.

En un ranking por equipos, la queue espera a que haya gente suficiente para llenar los dos bandos (seis para un 3v3) y luego los reparte en dos equipos con la media de rating lo más pareja posible, de forma que el mejor y el peor acaben enfrentados. Todos tienen que pulsar Ready; quien no lo haga se queda fuera y el resto vuelve a la queue conservando su sitio.

Cada equipo tiene su propio canal de voz para hablar de táctica sin que el rival escuche: solo ves el canal de tu equipo y solo puedes entrar en ese. Los dos canales desaparecen cuando el match se cierra. Un resultado queda fijado cuando lo vota la mayoría de cada equipo (dos de tres en un 3v3), así que ningún equipo puede darse la victoria por su cuenta; cualquier otra cosa abre una disputa para que la resuelva un validador.

La queue ya no es solo para ELO: una clasificación de League también puede activarla. Como los puntos de League son un total acumulado y no una estimación de nivel, los boards de League emparejan por puntos por partida, así que jugar más no te mueve por sí solo en la queue.

Equipos fijos

Un ranking ELO o League con tamaño de equipo puede funcionar además en modo fixed teams (se activa en el panel, junto a Match format). Los equipos con nombre propio se inscriben una sola vez con el botón Team sign-up del ranking: eliges nombre y luego la plantilla, que admite hasta dos reservas por encima del tamaño de equipo. A partir de ahí la clasificación es de equipos: en un ranking ELO cada equipo tiene su propio rating y ganar a uno más fuerte compensa más; en uno League, la tabla ordena a los equipos por puntos, igual que una liga de verdad. Los equipos fijos de League registran sus matches con /submit.

Cuando cualquier integrante pulsa Queue, entra el equipo entero y todos reciben un DM. El emparejamiento enfrenta equipo contra equipo por rating, y el ready-check hace también de alineación: juegan los primeros de cada plantilla en pulsar Ready hasta completar el tamaño de equipo, y el resto se queda fuera de ese match. El resultado lo votan quienes jugaron, con la misma regla de mayoría en cada bando.

El tipo de ranking League ordena a los jugadores por los puntos que acumulan match a match. Es el formato que quieres para fútbol, baloncesto, fútbol sala, hockey y cualquier competición 1v1 o por equipos en la que la tabla de la season es la que manda.

Cómo funciona

  • Registra un match con /submit: el bot te pide los dos bandos y el marcador de cada uno (por ejemplo, 3 y 1).
  • Gana quien tenga el marcador más alto; si son iguales, es empate.
  • El bando ganador se lleva points_win, el perdedor points_loss y, si hay empate, todos se llevan points_draw. En una liga por equipos, cada jugador recibe los puntos de su bando.
  • El ranking ordena a los jugadores por puntos totales, y lleva la cuenta aparte de victorias, empates y derrotas.

Puntos por defecto

Las ligas nuevas usan 3 / 1 / 0 (el estándar FIFA desde 1994). Los tres valores se configuran ranking a ranking desde el panel: 2 / 1 / 0 para hockey, 4 / 2 / 0 para rugby o el reparto que mejor le venga a tu deporte.

Registrar un match

Desde la web, abre el ranking y pulsa Submit: indica los dos bandos y el marcador. El comando /submit abre lo mismo en Discord. Los matches de un jugador contra sí mismo y los marcadores negativos se rechazan al enviarlos.

Ligas por equipos

Un ranking League puede tener un tamaño de equipo fijo, de 2v2 hasta 8v8, al crearlo o después desde Match format en el panel. La tabla sigue siendo individual: cada jugador del bando ganador se lleva los puntos de victoria, todo el bando perdedor los de derrota, y el marcador cuenta como goles a favor y en contra para cada uno de ellos.

¿Prefieres una tabla de liga clásica en la que las filas sean los equipos? Activa Fixed teams junto a Match format: los equipos con nombre propio se inscriben con el botón Team sign-up del ranking (las plantillas admiten hasta dos reservas), los matches se registran equipo contra equipo con su marcador, y la tabla ordena a los equipos por puntos.

Revisar y anular

Los matches de League pasan por la misma cola de revisión que los de ELO: un validador aprueba o rechaza cada envío, los puntos se aplican al aprobarlo, y un match aprobado se puede anular después (se devuelven exactamente los puntos que se dieron).

Los rankings ELO y League no tienen por qué ser de dos bandos. En un todos contra todos cada participante juega por su cuenta — de 3 a 8 jugadores — y el resultado es la posición en la que terminó cada uno. Actívalo con la opción ffa_players al crear el ranking, o después en Match format dentro del panel. Sustituye a las partidas por equipos: un ranking todos contra todos no puede tener además un tamaño de equipo ni equipos fijos, y activarlo solo afecta a las partidas nuevas, así que todo lo ya registrado queda exactamente igual.

Los tipos de resultado

ResultadoELOLeague
Orden completo de llegada — del 1.º al último✓ Sí✓ Sí
Empate para todos✓ Sí✓ Sí
Un ganador, el resto sin posición— No disponible✓ Sí

Solo-ganador es un modo de League. Ahí no necesita nada más de lo que dice: el ganador se lleva los puntos de victoria y el resto los de derrota. Un rating no puede permitirse esa relajación: si los perdedores quedan sin clasificar, lo único que puede decir honestamente de ellos es que empataron entre sí, y entonces un jugador con rating bajo gana rating en una partida que su historial cuenta como derrota. Por eso un todos contra todos de ELO pide el orden completo, o un empate general que haya ocurrido de verdad.

Reportar un resultado

Los rankings todos contra todos llevan un botón Report result en lugar de Submit result. Primero elige a todos los que jugaron — de 3 hasta el tamaño del lobby, así que un ranking de 6 jugadores puede registrar igualmente la noche en que aparecieron cinco. Después define el resultado: un ranking de League pregunta quién ganó, con Empate para todos en el mismo menú y Definir el orden completo si prefieres ordenar a todo el grupo; un ranking de ELO pide directamente el orden, una posición por toque, con Deshacer el último para el error y un botón Empate para todos al lado. Enviar sigue desactivado hasta que el resultado sea uno que el ranking pueda puntuar. Ese botón es la única forma de registrar un todos contra todos en Discord: si tu ranking no lo muestra, actívalo en el panel en Apariencia en Discord → Botón de envío, o registra la partida desde la página del ranking en la web.

A partir de ahí, un todos contra todos es un envío normal y corriente. Entra en la cola de revisión, un validador lo aprueba o lo rechaza (o lo hace la aprobación automática tras el retraso configurado), los ratings y los puntos se mueven al aprobarlo, y cancelar una partida aprobada devuelve a cada jugador exactamente lo que le dio.

Cómo funciona el rating

Un todos contra todos de ELO se puntúa como todos sus enfrentamientos directos a la vez. Cada pareja de jugadores se compara — la mejor posición gana a la peor, la misma posición es un empate entre ellos — y cada uno de esos mini-resultados se calcula con la misma matemática de puntuación esperada que un 1v1. Por eso terminar por encima de jugadores con un rating muy superior al tuyo paga mucho más que terminar por encima del fondo del grupo. Después el factor K se divide entre el número de rivales, que es lo que mantiene un todos contra todos en torno al movimiento de rating de una sola partida en lugar de los siete duelos que técnicamente jugaste.

Todo el conjunto es de suma cero exacta: lo que pierde el grupo es lo que ganan los demás, hasta el último punto. Seis jugadores con el mismo rating y K=32 terminan en +16, +10, +3, −3, −10, −16. El historial sigue a la posición: el primer puesto, incluido un empate por él, cuenta como victoria, todo lo que queda por debajo como derrota, y el empate general como empate para todo el grupo.

Puntos por posición en los rankings League

Un todos contra todos de League puede repartir entre todo el grupo con una tabla de puntos por posición, al estilo de la F1: tantos puntos para el primero, tantos para el segundo, y así hasta el final del lobby. La editas en el panel, debajo de los puntos de victoria, empate y derrota, en cualquier ranking League que juegue todos contra todos. Los jugadores que empatan reciben cada uno los puntos del puesto que comparten, y quien termina más allá del final de la tabla sigue puntuando con su última entrada.

La tabla solo se aplica a una clasificación completa. Si alguien queda sin posición — un reporte de solo-ganador, o un orden que dejaste a medias — no se aplica en absoluto: el primer puesto recibe los puntos de victoria del ranking y todos los demás los de derrota. Eso es también lo que obtienes sin ninguna tabla configurada, así que la tabla es opcional. Un empate general paga los puntos de empate a todos, diga lo que diga la tabla.

Todos contra todos en la cola de matchmaking

Con el botón de cola activado, un ranking todos contra todos pone en cola a jugadores individuales y salta en cuanto tiene exactamente el tamaño del lobby: seis jugadores en un ranking de 6, nunca cinco y nunca siete. No hay bandos que equilibrar, así que el lobby es sencillamente el grupo con los ratings más parecidos que la cola puede reunir. Todos tienen que pulsar Ready igualmente, y la partida recibe un único canal de voz compartido: en un todos contra todos no hay compañeros de quienes esconderse.

El resultado se reporta en vez de votarse — tres botones de voto no pueden expresar el orden de llegada de ocho jugadores. Cualquier jugador del lobby define el resultado en el mensaje de la partida y los demás pulsan Confirmar; queda fijado cuando una mayoría del grupo está de acuerdo (dos de tres, cinco de ocho), contando a quien lo reportó como el primero de ellos. Disputar entrega la partida a un validador, que define el resultado correcto y lo confirma él mismo. Una partida de la cola se resuelve en su propio hilo, así que no pasa por la cola de revisión.

El tipo de ranking Rating permite que los miembros de la comunidad suban imágenes y valoren con estrellas las de los demás.

Cómo funciona

  • Los usuarios suben imágenes con /submit: adjunta la imagen al comando y luego escribe un nombre en el formulario.
  • Los envíos aparecen en el canal de logs con un desplegable para votar.
  • Cualquiera puede puntuar de 1 a 10 estrellas. La media de los votos es la puntuación.
  • El voto se puede cambiar en cualquier momento: un voto por persona y envío.
  • El ranking ordena los envíos por valoración media.

Valorar desde la web

En la web, los envíos aparecen en la pestaña Entries. Haz clic en cualquiera para ver la imagen completa y votarla con los botones de estrellas. Tus votos se recuerdan de una sesión a otra.

Tú decides quién ve tus rankings en la web de Scoreboards:

Público

Lo ve todo el mundo en la web.

Oculto

Solo lo ven los miembros de tu server de Discord (hay que iniciar sesión).

Privado

Solo lo ven quienes tengan un rol concreto de Discord.

Desactivado

No aparece en la web.

Reparte roles de Discord automáticamente según la posición de cada jugador en el ranking. Por ejemplo: un rol «Campeón» para el top 3, un «Veterano» del puesto 4 al 10, y así con los que quieras.

  • Los tiers se configuran desde el panel web, en los ajustes de cada ranking.
  • Elige cómo se define un tier: por puesto (del 1 al 3), por percentil (el 10 % de arriba) o por puntuación (todo el que pase de 2000 puntos). Todos los tiers de un ranking comparten el mismo modo.
  • A cada tier le asignas cualquier rol que ya exista en tu server.
  • Los roles se dan y se quitan solos a medida que cambia la clasificación.
  • El rol de Scoreboards tiene que estar por encima de todos los roles que reparte, en Server Settings → Roles. Discord no deja que un bot gestione roles que estén a su altura o por encima, y si se topa con eso, el bot avisa en el canal del ranking.

¿Ya tienes una competición en marcha en otro sitio? /import coge un archivo CSV y rellena el ranking con él, así no tienes que teclear nada otra vez.

Puedes hacerlo de dos formas: en Discord, ejecuta /import, elige el ranking y adjunta el archivo; o en la web, abre el panel, selecciona un ranking y usa Import from CSV. Los rankings personales no tienen server de Discord, así que ahí el panel es la única vía. En ambos casos el archivo es el mismo: un <arg>name,score</arg> por línea:

name,score
Alex,120
"Cooney, EM",95
Sam,88
  • Si hay fila de encabezado, se detecta y se salta sola.
  • Valen comas, puntos y comas o tabuladores como separador: lo que exporte tu hoja de cálculo.
  • Los nombres con coma funcionan si van entre comillas, como <arg>"Cooney, EM"</arg>.
  • Si un nombre es un id de usuario de Discord, esa entrada se vincula al miembro y muestra su nombre. Cualquier otra cosa se guarda como entrada personalizada.
  • Si un nombre sale dos veces, se queda el último valor, así que puedes volver a importar un archivo corregido.
  • Las filas que no se entienden se saltan y se listan por número de línea: el resto entra igual, así que arreglas un par de líneas y lo lanzas otra vez.

Los tiempos admiten <arg>mm:ss</arg>, <arg>hh:mm:ss</arg> y una fracción opcional: <arg>1:30</arg>, <arg>1:12:44.081</arg>. Un número a secas se lee como milisegundos. Ojo: tres números separados por dos puntos significan <arg>hours:minutes:seconds</arg>, así que la precisión por debajo del segundo va detrás de un punto.

Límites: 500 filas y 100 KB por archivo; si tu exportación es más grande, pártela e impórtala por partes. Los rankings Image Rating no se pueden importar, porque sus entradas son imágenes subidas, no puntuaciones.

Las temporadas te permiten cerrar una competición sin perder nada. Programa un final (o termínala desde el panel) y el ranking se congela: se publica un podio y la clasificación queda exactamente como acabó.

  • Nada se reinicia ni se borra — el ranking congelado es el registro permanente de la temporada, visible para todos.
  • Un ranking congelado no acepta envíos, partidas ni votos nuevos; un admin puede descongelarlo en cualquier momento.
  • Todos los tipos pueden tener temporadas — incluido Image Rating, donde congelar un ranking con votación a ciegas también revela los resultados.
  • ¿Quieres una temporada nueva? Crea un ranking nuevo y deja el congelado como registro.

Los resúmenes semanales publican cada lunes un repaso corto en el canal del ranking: el top 3, quien más ha subido esa semana y cuánto se ha jugado. Solo lo reciben los rankings con al menos tres puntuaciones en los últimos siete días, así que un ranking tranquilo se queda tranquilo. Puedes desactivarlos ranking a ranking en /scoreboard settings o desde el panel web.