Permissão é onde quase todo servidor quebra. Não porque seja difícil, mas porque o Discord aplica as regras numa ordem que ninguém explica. Uma vez que você entende a ordem, o resto vira mecânico.
A regra que explica quase tudo
Existem dois lugares onde a permissão vive: no CARGO, valendo para o servidor inteiro, e no CANAL, valendo só ali. A do canal tem a palavra final.
A ordem de cálculo é esta:
- 1Começa com o que o @everyone pode no servidor.
- 2Soma o que os cargos da pessoa permitem.
- 3Aplica a regra do canal para o @everyone.
- 4Aplica as regras do canal para os cargos da pessoa. Aqui, permitir vence negar.
- 5Por último, regra do canal para aquela pessoa específica. Esta vence tudo.
Quem tem Administrador ignora esta lista inteira. Por isso o dono sempre vê tudo e jura que está configurado certo.
A pegadinha da categoria
Muita gente acha que configurar a categoria protege os canais dentro dela. Não é assim. O Discord COPIA as permissões da categoria para o canal no momento em que o canal é sincronizado. Se o canal tem regra própria, ele deixa de acompanhar a categoria — e continua com a regra antiga para sempre.
- ●Para conferir: abra o canal, vá em Permissões. Se aparecer a opção de sincronizar com a categoria, ele está fora de sincronia.
- ●Sincronizar apaga as regras próprias do canal e copia as da categoria. Não tem desfazer.
Montando um canal privado que funciona
- 1No canal, negue "Ver canal" para o @everyone.
- 2Adicione o cargo que deve ver e permita "Ver canal" para ele.
- 3Não adicione pessoa por pessoa. Cargo é mais fácil de manter e não some quando alguém troca de nome.
- 4Confirme que o cargo do seu bot também enxerga, se ele precisar postar ali.
Canal só de leitura
Para regras e avisos: negue "Enviar mensagens" para o @everyone e permita para a equipe. Deixe "Ver canal" e "Ler histórico" liberados, senão a pessoa nem consegue ler.
Erros que dão mais dor de cabeça
- ●Dar Administrador para resolver problema de permissão. Resolve, e abre o servidor inteiro para a pessoa.
- ●Esquecer que o cargo do bot precisa estar acima do cargo que ele gerencia.
- ●Deixar "Mencionar @everyone" ligado para o @everyone. Um membro qualquer marca o servidor inteiro.
- ●Usar permissão por pessoa em vez de cargo. Funciona hoje, vira bagunça em três meses.
Conferindo sem contar com a sorte
O Discord tem uma ferramenta subestimada: nas permissões do canal existe a visualização de como fica para um membro específico. Use antes de anunciar que está pronto. E o teste definitivo continua sendo entrar com uma conta comum, sem cargo nenhum.
Ver o painel do GBBOT funcionando