Pular para o conteúdo principal
As permissões do Discord e a hierarquia de cargos decidem se uma ação é tecnicamente possível. Além disso, o Petto tem as próprias ferramentas para decidir quem pode usar um comando: níveis de 0 a 100, restrições por cargo e comandos desativados. Tudo isso pode ser gerenciado na página Permissões do dashboard ou com comandos de prefixo.
Nada disso passa por cima do Discord. Um membro pode ter nível 100 no Petto e ainda assim falhar se as permissões dele no Discord ou a hierarquia de cargos do Petto não permitirem a ação.

Como o Petto decide

Quando alguém usa um comando, o Petto verifica, nesta ordem:
  1. Não está desativado. !disablecommand desativa um comando no servidor ou em alguns canais. Ninguém pula esta etapa.
  2. Permissão do Discord. Os comandos que mudam o servidor pedem a permissão do Discord da ação, como Banir membros para !ban.
  3. Nível do Petto. Um comando pode exigir um nível de 0 a 100. Os membros recebem o nível dos seus grupos; todo mundo tem o nível do grupo @everyone.
  4. Restrição por cargo. !restrictcommand deixa só alguns cargos usarem um comando.
O dono do servidor e os membros com Administrador pulam as etapas 2 a 4.
sam.k tenta !remind no #general e o Petto diz que !remind está desativado ali, que tente em outro canal

No Discord: um comando desativado neste canal.

sam.k tenta banir toxic_tom e o Petto diz que falta a permissão ban_members

No Discord: um membro sem Banir membros tenta !ban.

shi tem Gerenciar mensagens mas tenta !purge 20 sem o nível, e o Petto diz que falta o nível de permissão

No Discord: !purge pede nível 20 e shi não está em nenhum grupo de nível.

shi, da equipe de ajudantes, tenta banir toxic_tom e o Petto diz que só os membros com Moderadores podem usar ban neste servidor

No Discord: aqui o !ban é só para Moderadores.

Os exemplos abaixo usam o prefixo padrão !. As mesmas verificações acontecem quando um comando é usado com /: veja Comandos slash abaixo.

Níveis

liam cria o grupo moderadores com nível 50

No Discord: um grupo de nível criado.

liam adiciona o cargo Moderadores ao grupo moderadores

No Discord: um cargo adicionado a um grupo.

liam faz o comando ban exigir o nível 50

No Discord: um nível exigido para um comando.

liam lista os comandos com nível: ban 50, lockdown 90 e purge 20

No Discord: os comandos que pedem um nível.

  • group create <name> <level> cria um grupo, e group level <name> <0-100> muda o nível dele.
  • group add-role / remove-role e group add-user / remove-user decidem quem está nele. group view <name> mostra quem está, e group delete <name> o remove.
  • command set <command> <level> exige um nível para um comando (0 o torna público de novo). command list mostra os comandos com nível.
  • mylevel mostra o seu próprio nível.
liam muda o nível do grupo ajudantes para 30

No Discord: o nível de um grupo mudado.

liam remove o cargo Ajudantes do grupo ajudantes

No Discord: um cargo tirado de um grupo.

liam adiciona Chillet ao grupo moderadores

No Discord: um membro adicionado a um grupo.

liam remove Chillet do grupo moderadores

No Discord: um membro tirado de um grupo.

liam vê o grupo moderadores: nível 50, o cargo Moderadores e Chillet

No Discord: o nível, os cargos e os membros de um grupo.

liam exclui o grupo ajudantes, e ao tentar excluir @everyone o Petto diz que não pode

No Discord: um grupo excluído; o grupo @everyone não pode ser.

Um membro recebe o maior nível de todos os grupos em que se encaixa, por cargo ou por usuário. Todo servidor também tem um grupo @everyone (nível 0 no início) em que todo mundo está; ele não pode ser excluído. Um comando sem nível fica aberto para os membros que passam na verificação de permissão do Discord dele. !permission precisa de Gerenciar servidor (aliases !auth e !pgroup).
liam lista quatro grupos (@everyone 0, ajudantes 20, moderadores 50, admins 90) e kira vê que o nível dela é 50

No Discord: os grupos de nível do servidor, e o nível próprio de uma moderadora.

Restrições por cargo

!restrictcommand (aliases !rc, !restrict, !restrictcmd) faz com que um comando só possa ser usado por membros com um dos cargos que você escolher, seja com prefixo ou como comando slash.
liam restringe ban a Moderadores e depois também a Admin, e o Petto confirma cada um

No Discord: !ban restrito a Moderadores, depois Admin adicionado (add é o padrão).

liam tira Admin do ban, que Moderadores ainda pode usar, depois tira purge sem cargo e ele fica aberto de novo

No Discord: um cargo tirado de um comando, depois um comando aberto de novo para todos.

liam lista três comandos restritos: ban, lockdown e purge com os cargos

No Discord: cada comando restrito e os cargos.

liam redefine as restrições e o Petto diz que 5 regras foram removidas

No Discord: todos os comandos restritos abertos de uma vez.

liam tenta @everyone e o comando baan, e o Petto recusa cada um com o motivo

No Discord: são recusados @everyone e um comando que não existe.

add é o padrão, então !rc ban @Moderadores é o mesmo que !rc add ban @Moderadores. Adicionar mais cargos ao mesmo comando deixa qualquer um deles usá-lo. remove sem um cargo abre o comando para todos de novo, e reset abre todos os comandos restritos. O dono e os administradores sempre podem usá-los. Precisa de Gerenciar servidor.

A página Permissões

Dashboard → Segurança → Permissões mostra as quatro etapas acima e permite:
  • Grupos de nível: criar grupos, definir o nível deles e adicionar cargos ou membros (por ID). O grupo @everyone é o nível de todo mundo.
  • Quem pode usar o quê: escolher um cargo e ver, comando por comando, se os membros dele podem usá-lo e por quê (desativado, precisa de uma permissão do Discord, precisa de um nível, só para alguns cargos). Filtre por comandos com nível, restritos a cargos ou abertos para todos, e busque por nome ou alias.
  • Ver os comandos com nível, as restrições por cargo e os comandos desativados, incluindo os definidos pelo Discord.
A página Permissões com 4 grupos de nível, 3 comandos com nível, 1 restrito a cargos e 3 desativados, e os grupos com os cargos

Dashboard → Segurança → Permissões: as contagens, os quatro passos e os grupos de nível.

Quem pode usar o quê com @Moderadores escolhido (109 de 180 comandos, nível 50) e os comandos filtrados por O cargo não pode usar, cada um com o motivo

Dashboard → Segurança → Permissões → Quem pode usar o quê: Moderadores na prévia, com os comandos que não pode usar e por quê.

O cartão Comandos com o filtro Com nível: ban em 50 para moderadores e restrito a Moderadores, purge em 20 para ajudantes, lockdown em 90 para admins

Dashboard → Segurança → Permissões → Comandos: filtrados por Com nível, cada um com a permissão do Discord, os cargos e o nível.

Comandos slash

Os comandos do dia a dia (/ban, /purge, /channel, /ticket, /embed e os demais) também funcionam pelo menu / do Discord. Duas coisas decidem se um membro pode usar um deles:
  1. O Discord mostra ou esconde. Cada comando slash de moderação pede ao Discord a permissão da sua ação, então o menu esconde /ban e /unban dos membros sem Banir membros, /kick sem Expulsar membros, /warn e /timeout sem Moderar membros, /purge sem Gerenciar mensagens e /channel sem Gerenciar canais. /embed, /giveaway, /setup, /vanity e /guildtag precisam de Gerenciar servidor.
  2. O Petto verifica exatamente como verifica a forma com prefixo: comandos desativados, níveis e restrições por cargo valem do mesmo jeito.
Para deixar um cargo usar um comando slash escondido sem dar a ele a permissão do Discord (por exemplo, um cargo que você escolheu para ban em !moderation), permita o comando para esse cargo em Configurações do servidor → Integrações → Petto. Aí o Discord mostra o comando para eles, e as verificações do próprio Petto decidem o resto. A forma com prefixo nunca depende dessa configuração.

Cobertura de comandos

Dashboard → Segurança → Cobertura de comandos mostra como os comandos da equipe estão protegidos: quantos deles têm um nível do Petto, uma restrição por cargo ou estão desativados, e quais dependem só da permissão do Discord da ação. Cada comando diz qual dessas proteções ele tem, e Definir níveis e cargos leva você para a página Permissões.
A página Cobertura de comandos: a parte dos comandos da equipe com proteção extra, a contagem por tipo e os comandos de Moderação com as etiquetas

Dashboard → Segurança → Cobertura de comandos: como os comandos da equipe estão protegidos, comando por comando.

Depender só da permissão do Discord funciona bem para a maioria dos servidores. Adicione um nível ou uma restrição por cargo quando quiser que um comando exija mais do que a permissão, por exemplo um !ban que só os moderadores seniores podem usar, mesmo que mais cargos tenham Banir membros.

Relacionados