Scoreboards Documentation

Everything you need to create and manage Discord leaderboards

  1. Adicione o bot — Convide o Scoreboards para o seu server do Discord pelo link de convite na página inicial.
  2. Rode o assistente — Use /leaderboard create: um formulário rápido para dar nome ao ranking, escolher o tipo e, se quiser, um canal de log — e ele é publicado direto no canal. Rankings Classic, Highscore e Time começam com algumas entradas de exemplo, só para você ver a coisa funcionando; elas somem no instante em que o primeiro score de verdade entra. Depois, toque em Mais opções na resposta pra definir a ordenação, partidas em equipe ou todos contra todos.
  3. Defina os cargos — Abra o painel para escolher o cargo bot permission (quem pode gerenciar rankings) e o cargo validator (quem pode aprovar envios).
  4. Adicione mais rankings — Rode /leaderboard create de novo para cada um. Mais opções na resposta define a ordenação, partidas em equipe ou todos contra todos; o resto fica no painel.
  5. Publique — Use /leaderboard show em um canal para postar o ranking interativo, com botão de envio e navegação entre páginas.

O Scoreboards precisa só de um punhado de permissões do Discord, e um servidor com as configurações padrão já concede todas. As que importam são por canal — um bot pode ter acesso a um canal e estar trancado no seguinte —, então quando um ranking para de atualizar, é aqui que se olha primeiro.

No canal do ranking

  • View Channel e Read Message History — para achar a própria mensagem do ranking e editá-la. Sem elas o ranking só atualiza quando alguém roda /leaderboard show: um comando de barra é respondido mesmo onde o bot não consegue ler, uma edição não.
  • Send Messages — para postar o ranking e avisar quando algo está errado.
  • Embed Links e Attach Files — o ranking é uma imagem com uma legenda embaixo. Sem Attach Files a imagem some; sem Embed Links, somem a legenda e a tabela reserva.
  • Create Public Threads e Send Messages in Threads — os tópicos de partida dos rankings ELO e League abrem aqui.

No canal de log

O mesmo conjunto. Os envios são postados lá para revisão e o bot os edita quando são aprovados ou rejeitados; entradas com imagem vão como anexo. Se o canal do ranking não puder receber um tópico de partida, ele abre aqui. Se o bot não puder escrever no canal de log, o pedido de revisão é publicado no canal do ranking, indicando a permissão que falta.

No servidor inteiro

  • Manage Roles — para os Tier Roles e os cargos vendidos na loja. O cargo do Scoreboards também precisa estar acima de todos os cargos que ele distribui, em Server Settings → Roles.
  • Change Nickname — só se você renomear o bot em Branding.
  • Manage Channels, Connect e Move Members — só para os canais de voz do matchmaking, e só na categoria onde fica o canal de log.

O link Add to Discord pede View Channel, Send Messages, Embed Links, Attach Files, Read Message History e Send Messages in Threads. Todo o resto vem dos padrões de @everyone do seu servidor ou dos cargos que você dá ao bot — então um servidor que trancou o @everyone precisa conceder essas permissões ao bot por conta própria, por canal ou no cargo dele.

Quando falta uma permissão, o bot avisa em vez de falhar em silêncio: uma mensagem no canal do ranking para Embed Links, Attach Files e um tier role que ele não consegue atribuir, e uma no canal de log quando ele não alcança o ranking de jeito nenhum.

Ao criar um ranking com /leaderboard create, você escolhe entre sete tipos:

Classic

Soma ou desconta pontos de um total acumulado. Ideal para jogos em que a pontuação vai se somando.

Highscore

Guarda só o recorde pessoal de cada jogador. Scores menores são substituídos automaticamente.

Time (Speedrun)

Envie tempos como 00:00:00 (centésimos) ou 00:00:000 (milésimos) — o formato de exibição é uma configuração do painel, e rankings novos já vêm em milésimos. Ordem crescente para vencer quem faz o menor tempo, decrescente para vencer quem aguenta mais.

ELO - Ranked

Sistema de rating ELO competitivo, em 1v1 ou times de 2v2 a 8v8. Registre o resultado do match e o rating de todo mundo se atualiza sozinho.

Rating

A comunidade envia imagens e avalia com estrelas (de 1 a 10). Os votos viram uma média. Perfeito para concursos de arte e desafios criativos.

League

Ranking por pontos em partidas, para esportes como futebol, basquete e FIFA. Pontos por vitória/empate/derrota configuráveis (padrão 3/1/0) e placar do match (ex.: 3-1).

Levels (BETA)

Classifica os membros pelo XP que ganham conversando no chat e passando tempo em canais de voz. Vem com níveis, mensagens de subida de nível e cargos por nível, e ninguém precisa enviar nada.

Gerenciamento de rankings

ComandoDescriçãoPermissão
/leaderboard createCrie um ranking em um único formulário — nome, tipo e canal de log opcional — e poste no canal; Mais opções define depois a ordenação e o formato de partidaAdmin / Bot Permission
/leaderboard showPublica o ranking no canal atual, com botões interativosAdmin / Bot Permission
/leaderboard settingsAbre o painel para gerenciar as configurações deste ranking (ordem, visibilidade, cabeçalhos, modo de exibição, ELO e mais)Admin / Bot Permission
/leaderboard deleteApaga o ranking e todos os dados dele de vez (pede confirmação)Admin / Bot Permission

Envio de scores e matches

ComandoDescriçãoPermissão
/scoreDefina ou ajuste a pontuação, o ELO ou o tempo de um jogador. Escolha o ranking e depois Definir ou Ajustar no formulário. Placares de avaliação de imagens não entram. Um Comentário opcional explica o porquê e aparece no aviso do seu canal de log. Escolha um cargo pra dar a mesma mudança a todos os membros que o têm. Pro servidor inteiro, digite @everyone em Jogadores de fora.Admin / Bot Permission

Configuração

ComandoDescriçãoPermissão
/helpAbre a ajuda interativa com todos os tópicos disponíveisTodo mundo
/feedbackEnvie feedback com suas próprias palavras: ideias, problemas, qualquer coisaTodo mundo
/delete_my_dataApaga em definitivo seus rankings pessoais e pontuações, e seus dados de moeda em todos os servidores (pede confirmação)Todo mundo
/uninstallRemove o bot do servidor. Um formulário pergunta por que não deu certo (opcional); depois todos os rankings e pontuações do servidor são apagadosAdmin

Economia (beta)

A economia não tem comandos de barra. Os membros apertam o botão Shop abaixo de um leaderboard, ou abrem a página da loja do servidor, para ver o saldo, comprar cargos, emojis de leaderboard e cores de nome, e abrir qualquer pagamento para ver exatamente como foi calculado. Os admins configuram a economia, abastecem a loja e dão ou tiram moeda no painel, em Economia.

Existem dois jeitos de enviar:

  • No Discord, clique no botão de envio na mensagem do ranking — ele se chama Submit score em Classic/Highscore/Time, Submit result em ELO e League, e Submit image em Rating. O bot abre o formulário certo conforme o tipo: campo de score, seletor de jogadores + vencedor, seletor de jogadores + placar, ou um nome junto com a própria imagem. Em ranking por times, os seletores pedem o elenco completo de cada lado, e não um jogador só; e um ranking free-for-all traz um botão Report result no lugar.
  • Ou abra o ranking no site e clique em Submit para o mesmo fluxo — é o único caminho que aceita um nome personalizado, para quem não está no seu Discord.

Como funciona a revisão

  1. O envio vai para o canal de log configurado (se você definiu um).
  2. Um validador ou admin clica em Approve ou Reject. Em uma partida de ELO ou League, os jogadores dela também podem aprovar — basta o adversário confirmar o resultado, então o servidor não precisa de cargo de validador para as partidas andarem. Quem reportou a partida não pode aprovar o próprio relato, e só essa pessoa pode rejeitá-lo. Se um ranking não tem canal de log, os envios são aprovados na hora; defina um canal de log para revisá-los antes.
  3. Se for recusado, quem enviou recebe uma DM com o motivo.
  4. Se for aprovado, o ranking se atualiza na hora.

Aprovação automática

Cada ranking pode aprovar os envios sozinho depois de um tempo: desligado, na hora, 1 hora, 3 horas, 24 horas, 3 dias ou 7 dias. Em rankings de ELO o padrão é 24 horas.

Cancelando um score

Admins e validadores podem cancelar um score já aprovado: clique com o botão direito na mensagem do envio e escolha "Cancel Review". A pontuação volta ao que era e o bot pede um motivo para o cancelamento.

O tipo ELO - Ranked usa um sistema de rating ELO para classificar os jogadores por nível, em 1v1 ou em times de até oito de cada lado.

Como funciona

  • Todo jogador começa com um ELO inicial configurável (padrão: 1200).
  • O resultado do match pode ser vitória, derrota ou empate.
  • Os ratings são calculados com um fator K de 32.
  • Depois da aprovação, o rating de todos os participantes muda ao mesmo tempo.

Matches em time (2v2 a 8v8)

Rankings de ELO e League podem ter tamanho de time fixo — escolha na criação ou mude depois em Match format, no painel. Num ranking 3v3, todo match tem três jogadores de cada lado, e a classificação continua sendo individual.

No ELO, o resultado esperado de cada time sai da média dos ratings, e a variação resultante vale para todos os integrantes daquele time — ou seja, derrubar um time mais forte rende o mesmo ganho para todo mundo do lado vencedor. No League, cada jogador do time vencedor leva os pontos de vitória, e o time perdedor inteiro leva os pontos de derrota.

Queue de matchmaking (Beta)

Se o botão de queue estiver ativo no ranking, é só clicar para entrar. O sistema junta jogadores de ELO parecido usando uma janela que vai se abrindo aos poucos. Quando o match sai, é criada uma thread para ele, com botões de votação para a comunidade. Se não aparecer ninguém em 5 minutos, a sua entrada na queue expira.

Em ranking por times, a queue espera juntar gente suficiente para os dois lados — seis num 3v3 — e então divide o pessoal em dois times com a média de rating mais próxima possível, jogando o mais forte e o mais fraco em lados opostos. Todo mundo precisa clicar em Ready; quem não clicar cai fora, e o resto volta para a queue sem perder o lugar.

Cada time ganha um canal de voz próprio, então dá para combinar a tática sem o adversário ouvir — você só enxerga e entra no canal do seu time. Os dois canais somem quando o match é encerrado. O resultado só é registrado quando a maioria de cada time vota nele (dois de três num 3v3), o que impede um time de decretar a própria vitória; qualquer divergência abre uma disputa para um validador resolver.

A queue não é mais só para ELO: um placar de League também pode ativá-la. Como os pontos de League são um total acumulado e não uma estimativa de habilidade, os boards de League pareiam por pontos por partida — então jogar mais, sozinho, não muda sua posição na queue.

Times fixos

Um ranking de ELO ou League com times também pode rodar no modo fixed teams (a chave fica no painel, ao lado de Match format). Aí os times têm nome e são permanentes: cada um se inscreve uma vez pelo botão Team sign-up do ranking — escolha o nome e monte o elenco, que pode ter até dois reservas além do tamanho do time. A classificação passa a ser dos times: num ranking de ELO cada time tem seu próprio rating e derrubar um time mais forte rende mais; num ranking de League a tabela ordena os times por pontos, igualzinho a um campeonato de verdade. Times fixos de League registram os matches pelo botão Submit result do ranking.

Quando qualquer integrante clica em Queue, o time inteiro entra na queue e todo mundo recebe uma DM. O sistema junta time contra time pelo rating de cada um, e o ready-check já serve de escalação: jogam os primeiros de cada elenco a clicar em Ready, até completar o tamanho do time, e o resto fica de fora naquele match. Quem jogou é quem vota no resultado, com a mesma regra de maioria de cada lado. O elenco de cada time aparece na página do ranking no site: o número de membros fica ao lado do nome do time, passar o mouse lista os nomes, e abrir o time mostra o elenco completo com o capitão marcado.

O tipo League classifica os jogadores pelos pontos somados ao longo dos matches. É o formato certo para futebol, basquete, futsal, hóquei e qualquer competição 1v1 ou por times em que a tabela da season é o que vale.

Como funciona

  • Registre um match pelo botão Submit result do ranking — o bot pede os dois lados e o placar de cada um (ex.: 3 e 1).
  • Quem marca mais vence; placar igual é empate.
  • O lado vencedor leva points_win, o perdedor leva points_loss e, no empate, todo mundo leva points_draw. Em liga por times, cada jogador recebe os pontos do lado dele.
  • O ranking ordena por total de pontos; vitórias, empates e derrotas são contados à parte.

Pontuação padrão

Ligas novas já vêm com 3 / 1 / 0 (o padrão da FIFA desde 1994). Os três valores são configuráveis em cada ranking pelo painel. Use 2 / 1 / 0 para hóquei, 4 / 2 / 0 para rúgbi ou o que fizer sentido no seu esporte.

Registrando um match

Pelo site, abra o ranking e clique em Submit — informe os dois lados e o placar. No Discord, o botão Submit result do próprio ranking abre o mesmo formulário. Match de um jogador contra ele mesmo e placar negativo são recusados na hora do envio.

Ligas por times

Um ranking de League pode ter tamanho de time fixo, de 2v2 até 8v8, definido na criação ou depois em Match format, no painel. A tabela continua individual: cada jogador do lado vencedor leva os pontos de vitória, o lado perdedor inteiro leva os pontos de derrota, e o placar do match conta como gols a favor e contra para cada um deles.

Quer a tabela clássica de campeonato, com os times nas linhas? Ative Fixed teams ao lado de Match format: os times com nome se inscrevem pelo botão Team sign-up do ranking (o elenco pode levar até dois reservas), os matches são registrados time contra time com placar, e a tabela ordena os times por pontos. O elenco de cada time aparece na página do ranking no site: o número de membros fica ao lado do nome do time, passar o mouse lista os nomes, e abrir o time mostra o elenco completo com o capitão marcado.

Revisão e cancelamento

Matches de League passam pela mesma revisão dos matches de ELO: um validador aprova ou recusa cada envio, os pontos entram na aprovação, e um match já aprovado pode ser cancelado depois — o que devolve exatamente os pontos que tinham sido dados.

Rankings ELO e League não precisam ter dois lados. Num todos contra todos cada um da partida joga por si — de 3 a 8 jogadores — e o resultado é a posição em que cada um terminou. Ative com a opção ffa_players ao criar o ranking, ou depois em Match format no dashboard. Ele entra no lugar das partidas de time: um ranking todos contra todos não pode ter também um tamanho de time ou times fixos, e ligar isso só afeta partidas novas, então tudo que já está registrado continua exatamente como está.

Os tipos de resultado

ResultadoELOLeague
Ordem completa de chegada — do 1º ao último✓ Sim✓ Sim
Empate para todos✓ Sim✓ Sim
Um vencedor, todo o resto sem posição— Não disponível✓ Sim

Só-vencedor é um modo de League. Lá ele não precisa de nada além do que diz: o vencedor leva os pontos de vitória e o resto os de derrota. Um rating não pode ser tão relaxado — se os perdedores ficam sem colocação, a única coisa que ele pode dizer com honestidade sobre eles é que todos empataram, e aí um jogador de rating baixo ganha rating numa partida que o histórico dele conta como derrota. Por isso um todos contra todos de ELO pede a ordem inteira, ou um empate geral que aconteceu de verdade.

Reportar um resultado

Rankings todos contra todos trazem um botão Report result no lugar do Submit result. Primeiro escolha todo mundo que jogou — exatamente o tamanho do lobby do ranking, então um de 6 jogadores aceita 6 e o formulário não envia com 5. O mesmo formulário pode levar o resultado: aponte o vencedor e a partida é reportada na hora; num ranking com tabela de posições esse campo se amplia para toda a ordem de chegada — 1º lugar primeiro, depois 2º, e assim por diante. Deixe vazio e você cai na etapa do resultado. Depois defina o resultado: um ranking de League pergunta quem venceu, com Empate para todos no mesmo menu e Definir a ordem completa se você preferir classificar o grupo inteiro; um ranking de ELO pede direto a ordem, uma posição por toque, com Desfazer o último para o clique errado e um botão Empate para todos ao lado. Enviar fica desativado até o resultado ser um que o ranking consiga pontuar. Esse botão é a única forma de registrar um todos contra todos no Discord — se o seu ranking não mostra ele, ative em Exibição no Discord → Botão de envio no painel, ou registre a partida pela página do ranking no site.

Daí em diante, um todos contra todos é um envio comum. Ele cai na fila de revisão, um validador aprova ou rejeita (ou a aprovação automática faz isso depois do atraso configurado), ratings e pontos se movem na aprovação, e cancelar uma partida aprovada devolve a cada jogador exatamente o que ela deu.

Como o rating funciona

Um todos contra todos de ELO é pontuado como todos os seus confrontos diretos de uma vez. Cada dupla de jogadores é comparada — a colocação melhor vence a pior, colocação igual é empate entre os dois — e cada um desses mini-resultados é calculado com a mesma matemática de pontuação esperada de um 1v1. Por isso terminar acima de jogadores com rating muito superior ao seu paga bem mais do que terminar acima do fim do grupo. Depois o fator K é dividido pelo número de adversários, e é isso que mantém um todos contra todos valendo mais ou menos uma partida de movimento de rating em vez dos sete duelos que você tecnicamente jogou.

O conjunto é de soma zero exata: o que o grupo perde é o que os outros ganham, até o último ponto. Seis jogadores de mesmo rating com K=32 saem com +16, +10, +3, −3, −10, −16. O histórico segue a colocação — o primeiro lugar, inclusive empatado, conta como vitória, tudo abaixo como derrota, e o empate geral como empate para o grupo inteiro.

Pontos por colocação nos rankings League

Um todos contra todos de League pode pagar o grupo inteiro por uma tabela de pontos por colocação, estilo F1: tantos pontos para o primeiro, tantos para o segundo, e assim por diante até o fim do lobby. Você edita no dashboard, abaixo dos pontos de vitória, empate e derrota, em qualquer ranking League que jogue todos contra todos. Quem empata recebe os pontos da colocação que divide, e quem termina depois do fim da tabela continua pontuando pela última entrada dela.

A tabela só vale para uma classificação completa. Se alguém ficar sem colocação — um relato de só-vencedor, ou uma ordem que você parou no meio — ela não vale nada: o primeiro lugar leva os pontos de vitória do ranking e todo o resto os de derrota. É também o que acontece sem tabela nenhuma configurada, então a tabela é opcional. Um empate geral paga os pontos de empate para todo mundo, diga o que disser a tabela.

Todos contra todos na fila de matchmaking

Com o botão de fila ligado, um ranking todos contra todos enfileira jogadores avulsos e fecha no instante em que tem exatamente o tamanho do lobby — seis jogadores num ranking de 6, nunca cinco e nunca sete. Não há lados para equilibrar, então o lobby é simplesmente o grupo de ratings mais próximos que a fila consegue juntar. Todo mundo ainda precisa clicar em Ready, e a partida ganha um único canal de voz compartilhado: num todos contra todos não existem companheiros de quem se esconder.

O resultado é reportado em vez de votado — três botões de voto não conseguem expressar a ordem de chegada de oito jogadores. Qualquer jogador do lobby define o resultado na mensagem da partida e os outros apertam Confirmar; fica valendo assim que a maioria do grupo concorda (dois de três, cinco de oito), contando quem reportou como o primeiro deles. Contestar entrega a partida a um validador, que define o resultado certo e confirma ele mesmo. Uma partida da fila se resolve na própria thread, então não passa pela fila de revisão.

O tipo Rating deixa a galera do server enviar imagens e avaliar as dos outros com estrelas.

Como funciona

  • As imagens são enviadas pelo botão Submit image do ranking — o formulário pede um nome, uma descrição opcional e a própria imagem.
  • Os envios aparecem no canal de log, com um menu de avaliação.
  • Qualquer pessoa pode dar de 1 a 10 estrelas. As notas viram uma média. Avalie embaixo de cada entrada, ou aperte Rate entries no ranking para passar, uma por uma, por todas as entradas que você ainda não avaliou.
  • Dá para mudar o voto quando quiser — mas é um voto por pessoa em cada envio.
  • O ranking ordena os envios pela nota média.

Avaliando pelo site

No site, os envios ficam na aba Entries. Clique em qualquer um para ver a imagem inteira e dar a sua nota nos botões de estrela. Seus votos ficam salvos de uma visita para a outra.

Um ranking Levels (BETA) classifica os membros do seu servidor por XP. Ninguém envia nada: os membros ganham XP conversando no chat e falando em canais de voz, o bot conta sozinho, e o nível de cada membro sai do XP dele. Um servidor tem um ranking Levels (BETA) por vez, e ele é sempre um ranking de servidor — um ranking pessoal não pode ser Levels (BETA).

Como se ganha XP

  • Mensagens — cada mensagem dá de 15 a 25 XP, sorteados, mas só conta uma mensagem por membro a cada 60 segundos. Dez mensagens rápidas seguidas valem o mesmo que uma.
  • Voz — 10 XP por minuto em um canal de voz, desde que o membro não esteja mutado nem ensurdecido, não esteja no canal AFK do servidor e tenha pelo menos outra pessoa (que não seja bot) no canal.
  • Bots, webhooks e mensagens de sistema do Discord (entradas, impulsos, mensagens fixadas) nunca dão XP, e as mensagens só contam em canais que o bot consegue ver.

Cada um desses números é um ajuste nas configurações Levels (BETA) do ranking, no painel: a faixa de XP por mensagem, o tempo de espera entre mensagens e o XP por minuto em voz (0 desliga o XP de voz).

Do XP ao nível

O nível de um membro é calculado a partir do XP toda vez que aparece, então nunca é armazenado. A curva padrão é a que a maioria dos bots de nível do Discord usa: ir do nível L ao seguinte custa 5L² + 50L + 100 XP. A curva linear custa 100L + 75 XP por nível, então começa um pouco mais íngreme e chega aos níveis altos bem antes. O XP total para chegar a um nível:

NívelPadrãoLinear
51.1501.375
104.6755.250
2023.85020.500
50268.375126.250
1001.899.250502.500

Trocar de curva mantém o XP de todo mundo e muda só o nível que ele representa.

Canais e cargos sem XP

Escolha canais onde mensagens e tempo em voz não dão nada — tópicos contam como parte do canal — e cargos cujos membros nunca ganham XP, por exemplo um cargo para membros silenciados.

Mensagens de subida de nível

Quando um membro chega a um nível novo, o bot posta uma mensagem que menciona ele. Por padrão ela vai para o canal em que o membro acabou de escrever; você pode mandar para um canal fixo ou desligar. Dá para escrever seu próprio texto, com até 200 caracteres, em que {user}, {level} e {board} são preenchidos. A mensagem só marca o membro que chegou ao nível, mesmo que o texto diga @everyone, e quando mais de três membros chegam a um nível novo no mesmo canal ao mesmo tempo, eles dividem uma mensagem. O bot precisa de permissão para enviar mensagens nesse canal.

Cargos por nível

Em um ranking Levels (BETA), os cargos por tier têm um quarto modo, nível: um cargo a partir do nível 5, outro a partir do nível 10, e assim por diante. Com Manter cargos de tier mais baixos ligado, os membros ficam com todos os cargos que alcançaram; desligue e eles ficam só com o mais alto. Os cargos mudam logo depois que um membro chega a um nível novo.

Moeda por nível

Se o seu servidor usa a economia, você pode pagar moeda por nível: um valor fixo cada vez que um membro chega a um nível novo, pago uma vez só por nível. Ele conta no mesmo limite diário que qualquer outro pagamento, e vale a mesma regra de idade da conta. Mensagens e minutos em voz, por si sós, não pagam moeda.

Temporadas

Ao fim de uma temporada, o ranking congela: o XP para de contar e a classificação fica como terminou. Descongelar continua do mesmo XP. Para recomeçar do zero, crie um ranking Levels (BETA) novo e deixe o congelado como registro — um ranking congelado não conta para o limite de um por servidor.

Importar e definir XP

Vindo de outro bot de nível? Importe o XP de um arquivo CSV, um name,xp por linha, com Importar de CSV no painel, como explicado em Importar e migrar. Use o id de usuário do Discord de cada membro como nome: assim a linha fica vinculada ao membro, e o XP que ele ganhar depois soma em cima. Uma linha com qualquer outro nome vira uma entrada personalizada, à qual a atividade de ninguém é somada.

Para definir XP na mão, use /score no Discord, ou Set XP e Adjust XP no menu de um jogador no site. Uma importação ou uma mudança feita na mão não posta mensagem de subida de nível nem paga recompensa de nível; os cargos por tier se ajustam na próxima vez que o ranking for redesenhado.

Migrar do MEE6 ou de outro bot de nível

O Scoreboards não importa do MEE6 automaticamente: os termos de serviço do MEE6 não permitem acesso automatizado ao serviço deles, então o bot nunca lê o ranking de outro bot por você. Em vez disso, você mesmo pode trazer o XP dos seus membros — são os dados do seu próprio servidor — com um arquivo CSV:

  1. Copie o XP total de cada membro do ranking do seu servidor no MEE6 ou no outro bot. Copie o XP, não o nível: o nível sai do XP. Se o MEE6 mostrar um número arredondado como 12.5k, escreva o número completo (12500); o XP pode ficar um pouco diferente.
  2. Copie o id de usuário do Discord de cada membro: ative o Developer Mode no Discord (Settings → Advanced), depois clique com o botão direito no membro e escolha Copy User ID.
  3. Escreva um name,xp por linha, com o id de usuário como nome e o XP só com dígitos: 12500, e não 12,500 ou 12.500. Uma linha escrita assim é ignorada e listada com o número da linha, para você corrigir e importar de novo.
  4. No painel, abra o ranking Levels (BETA) e use Importar de CSV. Cada linha substitui o XP do membro em vez de somar, então importe antes que os membros tenham ganhado muito aqui. Um arquivo corrigido pode ser importado de novo a qualquer momento, e um arquivo comporta até 500 linhas.
name,xp
123456789012345678,4675
234567890123456789,23850

Só um id de usuário liga uma linha a um membro: um nome de 17 a 20 dígitos é lido como id de usuário do Discord, e o XP que esse membro ganhar depois é somado a ele. Um nome de usuário ou qualquer outro nome não é associado a ninguém; vira uma entrada personalizada, à qual a atividade de ninguém é somada.

A curva padrão é a que o MEE6 usa, então o mesmo XP dá o mesmo nível: 4.675 XP é o nível 10 nos dois. A importação não posta mensagens de subida de nível nem paga recompensas de nível. Os cargos de recompensa não vêm junto: configure-os de novo como cargos por tier no modo nível, e os membros recebem os cargos na próxima vez que o ranking for redesenhado. Depois, desligue os níveis no outro bot, para ninguém receber duas mensagens de subida de nível.

Com que frequência o ranking atualiza

A mensagem do ranking no Discord é redesenhada quando alguém chega a um nível novo ou a ordem das posições mostradas muda — no máximo uma vez por minuto — e, fora isso, mais ou menos a cada 15 minutos enquanto os membros ganham XP. Um ranking sem ninguém ativo não é redesenhado. A linha Última atualização embaixo mostra quando ele foi desenhado. Minha posição e o ranking no site mostram o XP em segundos.

Privacidade

O bot nunca lê o que os membros escrevem. Ele não usa o intent Message Content do Discord, e nunca lê nem guarda o texto de uma mensagem. Para cada membro que ganha XP, ele guarda o ID do Discord e o nome de exibição, o XP total, quantas das mensagens dele deram XP, quantos minutos em voz deram XP e quando ganhou XP pela última vez, mais um snapshot noturno da posição dele para o gráfico de histórico de posições. Nada é guardado por mensagem. Os dados são apagados junto com o ranking, e com o resto dos dados do servidor quando o bot é removido. Se a economia do servidor paga moeda por nível, cada nível alcançado também adiciona um registro ao histórico de moeda do membro, guardado junto com o resto dos dados de moeda dele. A Política de Privacidade tem os detalhes.

Você decide quem vê os seus rankings no site do Scoreboards:

Público

Qualquer pessoa vê no site.

Oculto

Só quem é membro do seu server do Discord vê (precisa entrar na conta), e na lista de rankings só os admins do server veem.

Privado

Só quem tem um cargo específico do Discord e os admins do server veem.

Desativado

Não aparece no site de jeito nenhum.

Entregue cargos do Discord automaticamente conforme a posição no ranking. Dá para dar um cargo "Campeão" para o top 3, "Veterano" da 4ª à 10ª posição, e por aí vai.

  • Os tiers são configurados no painel web, dentro das configurações de cada ranking.
  • Escolha como o tier é definido: por posição (da 1ª à 3ª), por percentil (os 10% melhores) ou por pontuação (todo mundo com 2000 pontos ou mais). Um ranking Levels (BETA) também pode usar nível (todo mundo no nível 10 ou acima). Todos os tiers de um ranking usam o mesmo modo.
  • Aponte para cada tier qualquer cargo que já exista no server.
  • Os cargos entram e saem sozinhos conforme a classificação muda.
  • O cargo do Scoreboards precisa estar acima de todos os cargos que ele distribui, em Server Settings → Roles. O Discord não deixa bot mexer em cargo no mesmo nível ou acima do dele, e o bot avisa no canal do ranking se esbarrar nisso.

Já tem uma competição rolando em outro lugar? Um arquivo CSV preenche um ranking inteiro de uma vez, sem você redigitar nada.

Abra o painel, selecione um ranking e use Importar de CSV. O caminho é o mesmo para um ranking de server e para um ranking pessoal, que não tem server do Discord por trás. Nos dois casos o arquivo é o mesmo — um name,score por linha:

name,score
Alex,120
"Cooney, EM",95
Sam,88
  • Linha de cabeçalho é detectada e ignorada automaticamente.
  • Vírgula, ponto e vírgula e tabulação funcionam como separador — do jeito que a sua planilha exportar.
  • Nome com vírgula funciona, desde que venha entre aspas, tipo "Cooney, EM".
  • Se o nome for um id de usuário do Discord, a entrada é vinculada ao membro e mostra o nome de exibição dele. O resto vira entrada personalizada.
  • Nome repetido fica com o último valor, então dá para reimportar um arquivo corrigido.
  • Linhas ilegíveis são puladas e listadas pelo número da linha — o resto entra normalmente, então você conserta uma ou duas e roda de novo.

Tempos aceitam mm:ss, hh:mm:ss e, se quiser, uma fração: 1:30, 1:12:44.081. Um número solto é lido como milissegundos. Atenção: três números separados por dois-pontos significam hours:minutes:seconds, então a precisão abaixo de um segundo vem depois de um ponto.

Rankings Levels (BETA) usam name,xp com o ID de usuário do Discord de cada membro como nome — um nome de usuário vira uma entrada separada que nunca ganha XP. O número é o XP total do membro e substitui o XP que ele tinha. Uma importação não posta mensagens de subida de nível nem paga recompensas de nível.

Limites: 500 linhas e 100 KB por arquivo — se a exportação for maior, divida e importe em partes. Rankings de Image Rating não podem ser importados, porque as entradas deles são imagens enviadas, e não pontuações.

Temporadas deixam você encerrar uma competição sem perder nada. Programe um fim (ou encerre pelo dashboard) e o ranking congela: um pódio é postado e a classificação fica exatamente como terminou.

  • Nada é resetado ou apagado — o ranking congelado é o registro permanente da temporada, visível pra todo mundo.
  • Um ranking congelado não aceita novos envios, partidas ou votos; um admin pode descongelar a qualquer momento.
  • Todos os tipos podem ter temporadas — inclusive Image Rating, onde congelar um ranking com votação às cegas também revela os resultados.
  • Quer uma temporada nova? Crie um ranking novo e deixe o congelado como registro.

Os resumos semanais publicam um apanhado curto no canal do ranking toda segunda-feira: o top 3, quem mais subiu na semana e o quanto se jogou. Só entram rankings com pelo menos três scores nos últimos sete dias, então ranking parado continua quieto. Dá para desligar os resumos em cada ranking pelo painel do site.

Uma economia transforma resultados em uma moeda que os membros gastam na loja do servidor. Ela é um beta e fica desligada até um admin configurá-la e lançá-la no painel, em Economia — daí em diante, todo resultado aprovado no servidor paga os jogadores. Um pagamento é uma base fixa mais uma fatia de um pool variável: parte do pool segue o resultado e parte segue a surpresa, então ganhar de alguém bem acima de você vale mais do que ganhar de quem está abaixo. Num board Classic, Highscore ou Time não existe adversário, então quem faz esse papel é a sua posição no board. É um saldo por membro para o servidor inteiro, compartilhado por todos os leaderboards dele.

  • Uma sequência de vitórias soma 2% por vitória, até o limite que você definir.
  • Enfrentar o mesmo adversário sem parar paga menos dentro de uma semana corrida: as duas primeiras partidas pagam cheio, e cada uma depois disso paga menos, até um décimo.
  • Um limite diário segura o quanto um membro leva para casa por dia, e, por padrão, uma conta do Discord precisa ter 7 dias antes de ganhar qualquer coisa.
  • Cancelar, editar ou apagar um resultado devolve o pagamento, exatamente como foi pago — se a moeda já tiver sido gasta, o saldo pode ficar negativo. Cada linha disso aparece na página da loja do servidor.
  • Boards de Image Rating não pagam nada — não há resultado para precificar.
  • Rankings Levels (BETA) pagam por nível: um valor fixo cada vez que um membro chega a um nível novo, definido nas configurações Levels (BETA) do ranking e contado no limite diário.

Os membros gastam a moeda na página da loja do servidor. A página é para os membros do servidor: eles entram com o Discord para ver o saldo, comprar, escolher o que usar e abrir qualquer pagamento para ver exatamente como foi calculado. O botão Shop abaixo de um leaderboard no Discord leva direto para lá. Ao lançar a economia, dá para colocá-lo abaixo de todos os leaderboards de uma vez, e cada leaderboard tem a sua própria chave em Discord → Identidade visual.

Essa página fica em scoreboards.dev/shop/seu-servidor, uma por servidor, e as páginas de leaderboard do servidor também têm link para ela. Ela vende três tipos de produto. Os cargos do Discord são concedidos assim que o membro compra, para sempre ou, com o aluguel ligado, por um tempo determinado, depois do qual o cargo sai e o membro pode comprar de novo. O Scoreboards precisa estar acima de todo cargo que vende em Configurações do servidor → Cargos, e o painel deixa cinza um cargo que ele não consegue atribuir e explica o motivo. Os emojis de leaderboard ficam ao lado do nome de quem comprou nos leaderboards do servidor, no site e no Discord. Um emoji comprado fica no lugar de uma medalha, top 3 incluído, e, com as medalhas de um board desligadas, continua aparecendo enquanto a economia estiver ligada. Os próprios nomes são exibidos sem emojis nos boards, então um emoji comprado não pode ser imitado trocando de nome. As cores de nome pintam o nome de quem comprou no site e nos leaderboards em imagem no Discord, mas não nos boards postados como embed de texto. Assim que alguém compra ou equipa algo, os leaderboards do Discord em que a pessoa aparece são redesenhados para mostrar isso.

Um servidor pode ter temporadas de moeda, separadas das temporadas dos seus leaderboards. Quando uma termina — na duração definida no dashboard, ou quando um admin a encerra por lá — a próxima começa na hora, e com o corte pela metade ligado, todo saldo de 2 ou mais é cortado pela metade antes. Cargos e itens comprados continuam com quem comprou. Os membros veem a data de fim na página da loja com antecedência, e o fim é postado no canal de log.

Com o prestígio ligado, um membro cujo saldo chegar ao mínimo definido pelo admin pode queimar tudo na página da loja pelo próximo nível de prestígio. O nível de prestígio aparece como uma estrela e um número ao lado do nome no leaderboard do site e no card do Discord, sobrevive a todo fim de temporada e é anunciado no canal de log.

Com o estoque rotativo ligado, qualquer item da loja pode ter data de início e de fim, definidas ao adicionar ou editar o produto. Antes do início a página da loja mostra o item como em breve; no fim ele sai da prateleira e não pode mais ser comprado.

Com os leilões ligados, um admin coloca um cargo ou um cosmético em leilão pelo dashboard e os membros dão lances na página da loja. Um lance é cobrado quando é dado e devolvido assim que alguém dá um maior, e um lance nos últimos cinco minutos adia o fechamento. No fechamento o lance vencedor é destruído, o prêmio é entregue e o resultado aparece no canal de log.

A configuração leva quatro etapas no painel, em Economia, no modo Simples: dar nome à moeda; escolher como os membros ganham entre três ritmos, cada um mostrando mais ou menos quanto um membro ativo ganha por semana; abastecer a loja, com um kit inicial de um clique com seis cores de nome e seis emojis de leaderboard com preços para esse ritmo (dá para pular esta etapa); e lançar, marcando a caixa do beta, com um botão Shop abaixo de cada leaderboard já marcado por padrão. Os produtos são adicionados e editados em Economia → Loja, num formulário curto de três etapas com preços sugeridos e uma prévia. O modo Avançado acrescenta os números de pagamento, quem ganha, o canal de log, as temporadas, o aluguel, o prestígio, o estoque rotativo e os leilões. Os admins dão e tiram moeda pelo site — no menu de contexto de um jogador num leaderboard, ou em Economia → Membros para um membro que não está em nenhum board; os dois são postados no canal de log que você escolher, então ninguém precisa acreditar na palavra de um moderador. A moeda não é dinheiro: não tem valor em reais, não sai do servidor em que foi ganha e pode ser zerada a qualquer momento.