Pular para o conteúdo principal

Visão geral

O sistema de níveis registra o XP de cada membro com uma curva e um tempo de espera que você controla, e não com uma fórmula fixa. Todos os subcomandos de !level abaixo exigem Gerenciar servidor.
chu escreve no #general e o Petto responde que chu acabou de subir para o nível 15, com um cartão com o avatar, o nível 15 e o rank 4

No Discord: uma mensagem faz um membro subir de nível, e o Petto responde com a mensagem de nível e o cartão de nível.

As páginas de Níveis do dashboard escolhem o cartão de rank (os cartões são desenhados em Cartões de imagem) com a prévia, e configuram as regras e os eventos de XP.
A página Configurações de níveis com as taxas de XP, o canal de anúncios e uma prévia da mensagem de nível

Dashboard → Níveis → Níveis: o XP por mensagem e por minuto em voz, o tempo de espera, o modo dos cargos de recompensa e o anúncio de nível com a prévia.

Ativando e definindo o ritmo

liam digita !level enable true e o Petto responde que os níveis estão ativados

No Discord: os níveis são ativados.

liam digita !level xp 15 25 e o Petto confirma de 15 a 25 de XP por mensagem

No Discord: o XP de cada mensagem fica entre 15 e 25.

liam digita !level voice-xp 5 e o Petto confirma 5 de XP por minuto em voz

No Discord: 5 de XP por minuto em voz.

liam digita !level cooldown 60 e o Petto confirma uma espera de 60 segundos

No Discord: um membro ganha XP de mensagens no máximo uma vez por minuto.

O XP por mensagem é um valor aleatório entre min e max, com um tempo de espera por membro. voice-xp é um valor fixo por minuto em voz, sem tempo de espera.

A curva de XP

O XP total por nível é (a·L³ + b·L² + c·L) × difficulty, arredondado. Os níveis dos membros atuais são recalculados com a nova curva quando você a muda, então só mexa nisso se souber o que está fazendo.
liam digita !level curve 1 50 100 3 100 e o Petto responde que a curva foi atualizada, com o XP dos níveis 10, 25 e 50

No Discord: uma curva nova, com o XP total que ela pede nos níveis 10, 25 e 50.

liam digita !level max-level 200 e o Petto confirma o nível máximo de 200

No Discord: o nível máximo agora é 200.

Padrões: a=1, b=50, c=100, difficulty=2.5, rounding=50.

Notificações

liam digita !level notify channel #niveis --every 5 e o Petto confirma o modo channel

No Discord: as subidas de nível vão para #niveis, a cada 5 níveis.

liam define um anúncio em resposta com mensagem própria e o Petto confirma o modo reply

No Discord: o anúncio responde no mesmo canal, com o próprio texto.

liam digita !level notify reply --delete_after 30 e o Petto confirma o modo reply

No Discord: o anúncio se apaga sozinho depois de 30 segundos.

liam dá ao nível 50 uma mensagem própria e o Petto responde que o nível 50 tem uma mensagem própria

No Discord: o nível 50 ganha uma mensagem própria.

liam digita !level voice-notify channel #niveis e o Petto confirma os anúncios de voz no modo channel

No Discord: as subidas de nível de voz são anunciadas no #niveis.

mode é off, reply (no canal em que o membro subiu de nível), channel (fixo) ou dm. As subidas de nível de voz também podem ser reply: elas vão para o chat do canal de voz em que o membro está. every limita os anúncios a cada N níveis, em vez de todos. message aceita {user}, {level}, {level_xp}, {level_rank}, {level_role} (o cargo de recompensa que o membro acabou de ganhar) e todas as variáveis de embed. Como toda DM do Petto, esta começa com uma linha cinza De <servidor> e tem botões de info, apagar e denunciar: veja DMs do Petto.
Use --message, --every e os outros nomes para tudo o que vem depois do canal. As opções são lidas em ordem (mode, channel, embed, embed_template, every, message…), então !level notify reply "{user} chegou ao nível {level}!" salvaria o seu texto como o nome de um embed salvo.
O dashboard tem tudo isso na página Níveis: um interruptor para a resposta e para a menção, o tempo para apagar e uma linha para cada nível com a sua própria mensagem, como 10: {user} agora está no nível {level}!.

Exemplos

Comando
Resultado
chu escreve no #general e o Petto responde: GG @chu, você acabou de chegar ao nível 12!

No Discord: chu sobe de nível e o Petto responde a mensagem com o texto clássico.

Variáveis

A lista completa, com {level_xp_current} e {level_xp_needed}, está em Variáveis. As variáveis são reconhecidas com qualquer combinação de maiúsculas e minúsculas e com espaços dentro das chaves, então {user.mention}, { User.Mention } e {USER_MENTION} funcionam, assim como os nomes que outros bots usam ({mention}, {member}, {level.xp}, {level.rank}…). Uma variável que o Petto não conhece fica do jeito que você escreveu, então um erro de digitação é fácil de ver.

Rank e rankings

!rank responde com um card (uma imagem com o avatar, o nome, o nível, a posição e uma barra de progresso), com o embed ou com os dois, conforme o !level rank-style. O embed mostra o nível, a posição entre todos os membros no ranking, o XP que já tem neste nível e o que ele pede, a barra de progresso e o XP total, e também o tempo em voz num rank de voz. card indica o cartão de imagem a usar; um servidor sem nenhum recebe um card padrão, com uma cor própria para voz.
chu digita !rank e o Petto responde com um card: chu, nível 15, rank 4, 2050 de 5950 XP com a barra

No Discord: o cartão de rank padrão.

chu digita !rank @shi voice e o Petto responde com o cartão de voz de shi: nível de voz 18, rank 2

No Discord: o rank de voz de outro membro, no cartão verde-azulado.

chu digita !rank e o Petto responde com um embed: nível 15, rank 4 de 312, 2050 de 5950 XP, progresso 34% com a barra e a experiência total

No Discord: o rank como embed, com rank-style embed.

chu digita !rank e o Petto responde com o embed do rank e o cartão como imagem

No Discord: o embed com o cartão dentro, com rank-style both.

liam digita !level rank-style both myrank e o Petto confirma cartão e embed usando o cartão myrank

No Discord: !rank agora responde com o cartão e o embed, usando o cartão myrank.

!top mostra o ranking de messages ou de voice. period é all (padrão), week ou month, e os rankings semanal e mensal começam vazios sozinhos a cada semana e a cada mês.
chu digita !top e o Petto responde com o ranking do Petto Land: Chillet nível 31, kira 27, mia.draws 24, chu 15 e mais, página 1 de 32

No Discord: o ranking do servidor, 10 membros por página com botões.

chu digita !top 1 messages week e o Petto lista o XP desta semana: kira 4120, zoe_plays 3610, chu 2985 e mais

No Discord: o ranking desta semana, pelo XP ganho na semana.

chu digita !top 1 voice e o Petto responde com o ranking de voz: Chillet nível de voz 22, shi 18, zoe_plays 14 e mais

No Discord: o ranking de voz.

O embed segue o layout dos de outros bots de níveis: o membro em cima com o avatar ao lado, depois um campo embaixo do outro (Nível, Rank no servidor, Experiência e Progresso com a barra), e a experiência total com o horário no rodapé. Ele não tem cor. O card padrão, quando um servidor não desenhou nenhum, tem o avatar à esquerda, o nível e a barra ao lado, no tom pêssego do Petto (verde-azulado para voz), sobre uma imagem que vem com o Petto.
A página Cartão de rank com Card escolhido, o cartão de rank padrão, o cartão level para as subidas, a prévia do cartão de liam no nível 12 e a do embed

Dashboard → Níveis → Cartão de rank: card, embed ou os dois, os cartões do rank e da subida de nível, e as prévias.

Página pública do ranking

Um servidor pode mostrar o seu ranking no site. Ela fica desativada até você ativá-la no dashboard (Níveis, depois Ranking, Página pública).
A página Ranking com a página pública ativada, o nome pettoland, o convite discord.gg/pettoland, o link petto.sbs/lb/pettoland e os primeiros membros por XP

Dashboard → Níveis → Ranking: a opção da página pública, o nome no endereço, o link do botão de entrar e o ranking.

  • A página fica em petto.sbs/lb/<name>. O nome é o que você escolher (de 2 a 32 letras, números ou hifens), ou o ID do servidor se você deixar vazio. Ela também existe como /es/lb/<name> e /pt-br/lb/<name>.
  • Ela mostra os 500 primeiros por mensagens ou por voz, 25 por página: nome, foto, nível e XP de cada membro. Nada mais de um membro é mostrado, e um membro que saiu aparece como ex-membro.
  • Um botão para entrar opcional leva as pessoas a um convite de sua escolha (ele precisa começar com https://).
  • Desligar o interruptor faz a página responder “não pública” na hora.
A página pública do ranking do Petto Land com as abas Mensagens e Voz, os botões Entrar no servidor e Copiar link, e os membros com nível, XP e mensagens

No site: petto.sbs/lb/pettoland, o ranking público do Petto Land com o botão de entrar.

O ranking de voz do dashboard: Chillet nível de voz 22, shi 18, zoe_plays 14, kira 12 e mais, com XP de voz e minutos

Dashboard → Níveis → Ranking de voz: os membros por XP de voz, com os minutos em voz.

Regras contra abuso

liam digita !level rules e o Petto lista o tamanho mínimo, o texto repetido, o que a voz precisa, o limite do chat, o bônus diário e de sequência, os membros que saem e os multiplicadores

No Discord: sem opções, as regras atuais do servidor.

liam digita !level rules min_chars 5 e o Petto responde Atualizado com as regras, agora com tamanho mínimo de 5 caracteres

No Discord: mensagens com menos de 5 caracteres param de ganhar XP.

liam digita !level rules anti_repeat on e o Petto responde Atualizado com Ignorar texto repetido ativado

No Discord: o texto repetido volta a não ganhar XP.

liam digita !level rules voice_min_members 50 e o Petto responde que voice_min_members aceita um número inteiro de 1 a 20

No Discord: um valor fora do intervalo é recusado e o Petto diz o que a regra aceita.

Sem opções, mostra os valores atuais. As configurações são: Servidores novos começam com 3 caracteres, a proteção contra repetição ativada e 1 pessoa necessária em voz.
O cartão Começar de um perfil com Relaxado, Equilibrado e Rígido, o cartão Chat com o tamanho mínimo e o limite diário de XP, e o cartão Voz com as pessoas necessárias e o XP sozinho

Dashboard → Níveis → Regras e eventos: os perfis, e as regras do chat e da voz.

Eventos de XP

liam digita !level event add weekend 2 2d all e o Petto confirma weekend, número 3: x2 de XP por 2 dias, começando agora

No Discord: um fim de semana de XP em dobro que começa agora.

liam digita !level event add voicenight 1.5 6h voice 1d e o Petto confirma x1.5 de XP de voz por 6 horas, começando amanhã

No Discord: um evento de voz que começa amanhã.

liam digita !level event list e o Petto lista weekend x2 todo o XP terminando em 2 dias, e voicenight x1.5 XP de voz começando em 24 horas

No Discord: os eventos rolando e os que vêm.

liam digita !level event remove 4 e o Petto responde Evento de XP removido

No Discord: um evento cancelado pelo número.

Um evento multiplica o XP ganho durante algumas horas ou dias. applies_to é all, text ou voice, e starts_in agenda o evento para depois em vez de começá-lo agora. O multiplicador vai de 1.1 a 20, um evento dura de 1 minuto a 60 dias, e um servidor pode ter 25 eventos rolando ou agendados ao mesmo tempo.
O cartão Eventos de XP com weekend a x2 para todo o XP e voicenight a x1.5 para voz, e os campos nome, multiplicador, vale para, dura e começa em

Dashboard → Níveis → Regras e eventos: os eventos de XP, e o formulário para adicionar um.

Bônus diário e sequências

Defina daily_bonus e streak_bonus com !level rules para dar XP extra pela primeira atividade do dia, mais um valor extra para cada dia seguido anterior, até streak_max_days. A sequência é {level_streak} nas mensagens de subida de nível.
liam digita !level rules daily_bonus 50 e o Petto responde Atualizado com Bônus diário 50 XP e o de sequência de 10 XP por dia, até 7 dias

No Discord: 50 de XP pela primeira atividade de cada dia.

O cartão Bônus diário e sequência com 50 de XP por dia, 10 de XP por dia anterior e o bônus de sequência parando depois de 7 dias

Dashboard → Níveis → Regras e eventos: o bônus diário e a sequência.

Níveis de voz

O tempo em voz tem as suas próprias configurações, então os níveis de voz e de mensagens podem seguir regras diferentes.
liam digita !level voice-enable true e o Petto responde que os níveis de voz estão ativados

No Discord: os níveis de voz são ativados.

liam digita !level voice-curve 1 50 100 3 100 e o Petto responde que a curva de XP de voz foi atualizada com o XP dos níveis 10, 25 e 50

No Discord: uma curva de voz nova com a prévia.

liam digita !level voice-max-level 300 e o Petto confirma o nível de voz máximo de 300

No Discord: o nível de voz máximo agora é 300.

liam digita !level voice-role-mode all e o Petto confirma o modo dos cargos de voz: todos os conquistados

No Discord: os membros ficam com todos os cargos de recompensa de voz.

liam digita !level voice-ignore #AFK e o Petto responde que AFK foi adicionado aos canais de voz ignorados

No Discord: o canal AFK para de dar XP de voz.

  • voice-enable ativa ou desativa os níveis por tempo em voz (o valor por minuto é o !level voice-xp).
  • voice-curve é a mesma fórmula da curva de XP, aplicada à voz, e os padrões também são os mesmos (a=1, b=50, c=100, difficulty=2.5).
  • voice-max-level é o nível de voz mais alto (padrão 1000).
  • voice-role-mode diz se os membros mantêm todos os cargos de recompensa de voz (all) ou só o maior (highest, o padrão).
  • voice-ignore coloca ou tira um canal de voz, ou uma categoria inteira, do XP de voz, como o !level ignore faz com os canais de texto. Use de novo para desfazer.
  • Os níveis de voz têm cargos de recompensa próprios: !level reward add 10 @Falante --type voice. Veja Recompensas de nível.
A página Níveis de voz, ativada, com 5 de XP por minuto de voz, só o cargo de recompensa mais alto, o anúncio desativado, a mensagem e a prévia, e o canal AFK ignorado

Dashboard → Níveis → Níveis de voz: a opção, o XP por minuto, os cargos de recompensa, o anúncio com a prévia e os canais ignorados.

Quem ganha XP

liam digita !level ignore #comandos e o Petto responde que foi adicionado aos canais ignorados

No Discord: um canal que não ganha XP.

liam digita !level ignore #STAFF e o Petto responde que STAFF foi adicionado às categorias ignoradas

No Discord: uma categoria inteira que não ganha XP.

liam digita !level ignore --role @Silenciado e o Petto responde que @Silenciado não ganha mais XP

No Discord: um cargo cujos membros não ganham XP.

liam digita !level ignore --only_role @Membros e o Petto responde que @Membros foi adicionado aos cargos que podem ganhar XP

No Discord: só os membros com este cargo ganham XP.

Usar de novo no mesmo item desfaz. As opções que não são a primeira vão com --, como --role @Mutado. Tudo isso também pode ser definido no dashboard, em Níveis e em Regras e eventos.
  • channel pode ser um canal ou uma categoria. Os canais da lista, e todos os canais de uma categoria da lista, não dão XP.
  • role é um cargo cujos membros não ganham XP.
  • only_role escolhe os cargos que são os únicos que podem ganhar XP. Sem nenhum escolhido, todos podem ganhar XP.
O cartão Quem ganha XP com Silenciado nos cargos que não ganham XP e nada nos únicos cargos que ganham XP

Dashboard → Níveis → Regras e eventos: os cargos que não ganham XP e os únicos cargos que ganham.

Membros que saem e voltam

liam digita !level rules restore_roles on e o Petto responde Atualizado: o XP é mantido e os cargos de recompensa voltam quando retornam

No Discord: os membros que voltam recebem de volta os cargos de recompensa.

liam digita !level rules reset_on_leave on e o Petto responde Atualizado: o XP é apagado e os cargos voltam quando retornam

No Discord: o XP de um membro que sai é apagado.

liam digita !level manage sync e o Petto responde que verificou 12 membros com nível e deu os cargos de recompensa que faltavam

No Discord: os membros com nível recebem os cargos de recompensa que faltavam.

  • restore_roles (ativado por padrão): um membro que volta recebe de novo os cargos de recompensa que os níveis dele conquistaram.
  • reset_on_leave (desativado por padrão): o XP e o nível de um membro que sai são apagados. Desativado, eles são mantidos.
  • manage sync confere todos os membros que têm nível e dá os cargos de recompensa que eles conquistaram e ainda não têm, para os níveis de mensagens e de voz. É para depois de adicionar recompensas a um servidor que já tem níveis. Ele confere até 2000 membros por vez, com uma pausa curta, então use de novo para o resto de um servidor grande.
O cartão Membros que saem e voltam com devolver os cargos de recompensa ativado e apagar o XP e o nível desativado

Dashboard → Níveis → Regras e eventos: o que acontece com o XP e os cargos de recompensa de um membro que sai.

Bônus de entrada

liam digita !level join 0 5 e o Petto responde que os membros novos agora começam no nível 5

No Discord: os membros novos começam no nível 5.

liam digita !level sync-join e o Petto responde Sincronização concluída, 3 membros afetados

No Discord: o bônus é dado aos membros que ainda estão em zero.

Dá aos novos membros um XP/nível inicial. level tem prioridade se os dois forem definidos. sync-join aplica retroativamente o bônus atual a todos os membros que ainda estão em zero.

Gerenciamento manual de XP/nível

liam digita !level manage xp add @nico 500 e o Petto responde que adicionou 500 XP para @nico

No Discord: 500 de XP adicionados a um membro.

liam digita !level manage xp transfer @mia.draws 200 @zoe_plays e o Petto responde que transferiu 200 XP de @mia.draws para @zoe_plays

No Discord: 200 de XP passados de um membro para outro.

liam digita !level manage level set @nico 12 e o Petto responde que nico agora está no nível 12

No Discord: um membro colocado no nível 12 (o XP acompanha).

liam digita !level reset @maxwell e o Petto responde que zerou o XP e o nível de maxwell e tirou os cargos de recompensa

No Discord: o XP, o nível e os cargos de recompensa de um membro são apagados.

action é add, set, remove ou (só para XP) transfer para outro membro. reset apaga o XP/nível de um membro e remove os cargos de recompensa dele.

Status

Mostra toda a configuração atual em um só lugar.
liam digita !level status e o Petto lista cada configuração: XP, voz, curvas, níveis máximos, modo dos cargos, anúncios, estilo do rank, regras, bônus de entrada, canais e cargos ignorados, recompensas e multiplicadores

No Discord: toda a configuração em um card.

!levelconfig (nome curto !xpconfig, precisa de Gerenciar servidor) responde com um card do que este servidor tem salvo para os níveis, e cada comando de !level para mudar.
liam digita !levelconfig e o Petto responde com o card de configuração de níveis: cada configuração salva, depois os comandos para mudar e mais comandos, e um botão de documentação

No Discord: o card de configurações do módulo, com cada comando para mudá-lo.

Relacionado

Recompensas de nível

Cargos de recompensa e multiplicadores de XP.