Níveis e experiência
Cada mensagem escrita num canal rende entre 15 e 25 XP, sorteados ao
acaso. Só se conta um ganho por minuto e por membro: escrever dez mensagens
seguidas não rende mais do que uma só. Os bots, as mensagens privadas e as mensagens de sistema
(entradas, fixações) não rendem nada.
Passar do nível L para o seguinte custa 5 × L² + 50 × L + 100 XP. O custo
sobe, portanto, a cada patamar, e só o XP total é guardado: o nível é deduzido dele.
A última coluna supõe uma conversa comum, com o ganho médio. Ela dá a ordem de grandeza, o tempo
real depende do espaçamento das mensagens, já que o contador só retém um ganho por minuto.
A cada subida de nível, o bot responde no canal onde a mensagem foi escrita. O
anúncio se ajusta pelo painel: embed ou texto simples, título, descrição, cor, e as variáveis
{level} e {xp} além das habituais. Um canal em que o bot não pode escrever não bloqueia
nada: o nível é conquistado, só o anúncio é abandonado.
O módulo está ativo por padrão. Desligá-lo interrompe os ganhos e os anúncios sem
apagar nada: a classificação permanece no banco e volta intacta quando for reativado. Para corrigir
um caso pontual, /xp adiciona, retira ou fixa o XP de um membro;
/rank e
/leaderboard mostram o resultado.
Sanções, histórico e notas
Toda sanção aplicada pelo bot é registrada: banimento, banimento temporário, expulsão, castigo,
advertência, e até as revogações (desbanimento, retirada de advertência). Cada uma recebe seu
código de doze caracteres.
A ordem das operações não é casual. A mensagem privada sai antes da sanção, depois de um banimento, o bot não tem mais servidor em comum com a pessoa e não poderia escrever
para ela. Já o registro precede a chamada ao Discord para dispor do código; se o Discord recusar a
ação, o registro é anulado, e nenhuma sanção fantasma fica no dossiê.
Um banimento temporário programa a própria revogação. No vencimento, o bot verifica se um moderador
não reaplicou o banimento nesse meio-tempo: se for o caso, ele não o revoga. Um /ban
definitivo aplicado durante o prazo anula a revogação programada.
As notas (/note, 25 por sanção) nunca são mostradas ao
membro em questão: servem ao diálogo entre moderadores, meses depois, quando ninguém se lembra do
contexto.
Proteção na entrada
Três mecanismos independentes, que se somam ou se usam sozinhos:
-
O captcha: ao chegar, o membro deve resolver um desafio para obter seu cargo.
Por padrão: 3 tentativas, 5 minutos, expulsão em caso de falha. O
pedido passa por mensagem privada; se o membro fechou as suas, o bot cria um canal de verificação
temporário na categoria que você indicou, visível só para ele e apagado depois.
-
A verificação pelo site: o membro clica num botão, termina no site e recupera
seu cargo na volta. Aqui o bot não concede nada por conta própria: é o site que verifica a
identidade junto ao Discord e depois atribui o cargo.
-
O anti-raid: não mira o indivíduo, mas o fluxo. Acima de
8 entradas em 10 segundos (valores padrão), ele alerta, coloca em
quarentena ou expulsa. O filtro de idade da conta deixa passar os habituais apanhados na onda.
O cargo de quarentena é o ponto comum dos três: colocado na chegada, ele limita o
que o recém-chegado pode ver e fazer, e é retirado depois da verificação. Enquanto ele estiver lá,
você mantém o controle, nada impede desbloquear alguém à mão.
Tickets
Um painel publicado num canal, no máximo 25 tipos de pedido (o limite de um menu
suspenso do Discord), e para cada um: seu emoji, sua cor, sua mensagem de boas-vindas, seu
formulário de abertura e a equipe que tem acesso. A abertura cria um canal privado entre quem pede
e essa equipe. No fechamento, a conversa é arquivada em HTML no canal de arquivos, a troca
continua consultável depois que o canal é apagado.
Música e cargos DJ
A reprodução se apoia numa infraestrutura de áudio dedicada. Se ela estiver
indisponível, os comandos de música dizem isso e todo o resto do bot continua funcionando.
Os comandos que controlam uma reprodução em curso (/pause, /resume, /stop, /loop, /volume) são reservados
aos DJs. É DJ: o dono do servidor, um administrador, um membro com “Gerenciar servidor”, ou um
membro que tenha um cargo adicionado por /dj add. Enquanto
nenhum cargo DJ estiver configurado, esses comandos respondem portanto apenas a esses três
perfis. Os cargos de staff são uma lista distinta: não concedem o status de DJ.
Os comandos de consulta (/queue, /nowplaying, /lyrics) e a
adição de faixas (/play) continuam abertos a todos.
Sorteios
Duração aceita: de 10 segundos a 28 dias, escrita livremente
(30m, 1h30m, 2d). Até 20 sorteios em curso e
20 vencedores por sorteio.
O sorteio é sempre feito pelo bot, nunca pelo site: só ele pode verificar, no momento do sorteio,
que os vencedores ainda estão no servidor e têm o cargo exigido na inscrição. Se ninguém se
manifestar, /giveaway reroll sorteia de novo.
Registros
21 tipos de eventos, repartidos em 5 categorias (Mensagens, Membros, Moderação, Voz, Servidor),
ativáveis um a um. Cada categoria pode apontar para seu próprio canal: a moderação de um lado, as
mensagens do outro.
O conteúdo das mensagens nunca é armazenado no banco. Quando uma mensagem é
apagada, o bot publica um embed no canal que você indicou, é tudo o que acontece. Uma ação feita
pelo próprio bot (um banimento via /ban) é registrada uma única vez, pelo registro de
moderação que nomeia o moderador.
Backups
Um backup fotografa a estrutura do servidor (cargos, canais, permissões) e
devolve um código privado, enviado por mensagem privada. São mantidos 3 backups por dono.
Ele não contém nenhuma mensagem: não é um histórico de conversa. O código permite
restaurar essa estrutura no servidor atual, e portanto também clonar um servidor importando-o em
outro lugar.
Canais de voz temporários
Entrar no canal de disparo cria um canal do qual o membro é dono: ele pode renomeá-lo, limitar seu
acesso ou fixar sua capacidade. O canal desaparece assim que se esvazia, nada a limpar.