Voltar ao blog
Levels16 de outubro de 20266 min de leitura

Bot de níveis para Discord: XP, níveis e cargos (beta)

O Levels (BETA) transforma o Scoreboards em um bot de níveis para Discord. Os membros ganham XP conversando no chat e falando em canais de voz, o nível sai desse XP, e o ranking ordena o seu server por ele. Ninguém envia nada: quem conta é o bot.

É o tipo de ranking mais novo, então fica em beta enquanto se acomoda. A página do bot de níveis para Discord mostra como ele fica; este guia cobre a configuração e os números por trás dela.

O que o Levels (BETA) faz

Um ranking Levels (BETA) é uma classificação de XP ao vivo do seu server, postada em um canal como qualquer outro ranking do Scoreboards.

  • Minha posição, o botão embaixo do ranking, mostra ao membro o nível dele, o XP e quanto falta para o próximo nível.
  • O site mostra o nível, o XP e a barra de progresso de cada membro, e um ranking público pode ser incorporado no seu próprio site.
  • Um resumo semanal sai toda segunda-feira com o top três, quem mais subiu e quantos membros ganharam XP, nas semanas em que pelo menos três ganharam.

Um server tem um ranking Levels (BETA) por vez, ao lado de todos os outros rankings que já usa. Ele é sempre um ranking do server, nunca pessoal, porque o XP vem do chat de um server.

Configure em três passos

  1. Crie o ranking. Convide o Scoreboards, rode /leaderboard create, escolha LEVELS (BETA) como tipo e dê um nome, como "Server Levels". Ele é postado e começa a contar XP.
  2. Ajuste os números. Abra o painel, escolha o ranking e vá em Levels (BETA): XP por mensagem, cooldown, XP de voz, a curva de níveis, canais e cargos sem XP e a mensagem de subida de nível. Os valores padrão são um bom começo, então dá para pular este passo.
  3. Adicione cargos de recompensa. Em Cargos por tier, escolha o modo Nível e dê um cargo a cada marco: um a partir do nível 5, outro a partir do nível 10 e assim por diante.

Como os membros ganham XP

Cada mensagem dá, ao acaso, de 15 a 25 XP, mas só conta uma mensagem por membro a cada 60 segundos. Dez mensagens rápidas seguidas valem o mesmo que uma, então spam não compensa. Nos valores padrão, o nível 10 leva umas 234 mensagens que dão XP.

Bots, webhooks e mensagens de sistema do Discord (entradas, boosts, mensagens fixadas) nunca dão XP. Também não dão os canais sem XP, incluindo os tópicos dentro deles, nem membros com um cargo sem XP, como um cargo de silenciado. Você pode mudar todos os números, e um cooldown de 0 dá XP para toda mensagem.

O bot nunca lê o que os membros escrevem. Ele não usa o Message Content intent do Discord, e nunca lê nem guarda o texto de uma mensagem. Por membro, ele guarda o ID do Discord e o nome de exibição, o XP total, quantas mensagens e minutos de voz deram XP e quando foi o último ganho, mais um snapshot noturno da posição dele para o gráfico de histórico. Se a economia do seu server paga moeda por nível, cada nível alcançado também adiciona um registro ao histórico de moeda.

XP de voz

Os membros ganham 10 XP por minuto em um canal de voz enquanto não estão mutados nem com o áudio desligado, estão fora do canal AFK do server e há pelo menos mais uma pessoa com eles que não é um bot. Um membro sozinho com um bot de música não está conversando com ninguém. Uma hora de conversa na voz vale 600 XP. Defina o XP de voz em qualquer valor de 0 (desligado) a 100 XP por minuto.

A curva de níveis

A curva padrão é a mesma que o MEE6 usa: ir do nível L para o próximo custa 5L² + 50L + 100 XP. O XP total para chegar a cada nível:

  • Nível 1: 100 XP
  • Nível 5: 1.150 XP
  • Nível 10: 4.675 XP
  • Nível 20: 23.850 XP
  • Nível 50: 268.375 XP
  • Nível 100: 1.899.250 XP

A outra opção é uma curva linear de 100L + 75 XP por nível. Ela começa um pouco mais íngreme (o nível 10 custa 5.250 XP), mas chega aos níveis altos muito antes (o nível 50 custa 126.250 XP). Trocar de curva mantém o XP de todo mundo; só muda o nível que ele representa.

Cargos de recompensa por nível

Os cargos de recompensa são cargos por tier no modo Nível: um cargo a partir do nível 5, outro a partir do nível 10, mais um a partir do nível 25, quantos tiers você precisar. Com Manter cargos de tier mais baixos ligado, os membros mantêm todos os cargos que já alcançaram; desligado, só o mais alto. O cargo do Scoreboards precisa ficar acima de todo cargo que ele distribui, em Configurações do servidor → Cargos.

Se o seu server usa a economia do Scoreboards, você também pode pagar moeda a cada nível novo, uma vez por nível, dentro do limite diário da economia.

Mensagens de subida de nível

Quando um membro chega a um nível novo, o bot posta uma mensagem que menciona essa pessoa: no canal onde ela escreveu por último (o padrão), em um canal fixo como #level-ups, ou em lugar nenhum.

Você pode escrever o seu próprio texto, com até 200 caracteres, em que {user}, {level} e {board} são preenchidos, por exemplo GG {user}, você chegou ao nível {level}! Ele só menciona o membro que subiu de nível, mesmo que o texto diga @everyone, e quando mais de três membros sobem de nível no mesmo canal ao mesmo tempo, eles dividem uma mensagem só.

Temporadas e recomeço

Encerrar uma temporada congela o ranking: o XP para de contar e a classificação fica como terminou. Descongele e todo mundo 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 server.

Como migrar do MEE6 ou de outro bot de níveis

O Scoreboards não consegue importar seus níveis do MEE6 automaticamente. Os termos de serviço do MEE6 não permitem acesso automatizado ao serviço deles por robôs, spiders ou outras ferramentas automáticas, então não construímos isso. Mas você pode trazer os números por conta própria. São os dados do seu próprio server, e é um trabalho de uma vez só:

  1. Crie o seu ranking Levels (BETA), para ter onde importar.
  2. Copie o XP total de cada membro do ranking do seu server no MEE6, ou no bot que você usava. Copie o XP, não o nível. Se o MEE6 mostrar um número arredondado como 12.5k, escreva o número completo (12500); o XP pode ficar um pouco diferente.
  3. Copie o ID de usuário do Discord de cada membro. Ative o Modo desenvolvedor no Discord (Configurações → Avançado), depois clique com o botão direito em um membro e escolha Copiar ID do usuário.
  4. Escreva um arquivo CSV, um name,xp por linha, com o ID de usuário como nome: 123456789012345678,4675. Escreva 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.
  5. Importe. No painel, abra o ranking e use Importar de CSV em Geral.

É o ID de usuário que liga uma linha a um membro: um nome de 17 a 20 dígitos é lido como ID, e o XP que esse membro ganhar depois é somado a ele. Qualquer outro nome, como um nome de usuário, vira uma entrada personalizada que não está ligada a ninguém e nunca cresce.

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, então divida um server grande em vários arquivos.

Como a curva padrão é a do MEE6, 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, então ninguém é mencionado cinquenta vezes. 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 bot antigo, para ninguém receber dois avisos de subida de nível.

Perguntas frequentes

Os membros mantêm os níveis do MEE6? Sim, se você importar o XP deles. A curva padrão é a do MEE6, então o mesmo XP é o mesmo nível.

Posso dar ou tirar XP manualmente? Pode. Use /score no Discord, ou Set XP e Adjust XP no menu de um jogador no site. Mudanças feitas à mão não postam mensagem de subida de nível nem pagam recompensa de nível.

Os membros podem enviar XP? Não. Um ranking Levels (BETA) não tem botão de envio. O XP vem do chat, da voz e das mudanças que os admins fazem.

Um server pode ter dois rankings Levels (BETA)? Não ao mesmo tempo. Para começar uma temporada nova, congele o antigo e crie um novo.

Coloque no seu server

Convide o Scoreboards, rode /leaderboard create e escolha LEVELS (BETA). Cada configuração está descrita na seção Levels e XP (BETA) da documentação.

Quer um ranking competitivo ao lado? O guia de rating ELO cobre partidas ranqueadas, 1v1 e em time.