O sistema de permissões do Discord depende de uma hierarquia rígida de cargos. Quando um bot não consegue executar ações como atribuir cargos ou expulsar membros, a causa geralmente é um posicionamento incorreto do cargo. Muitos administradores de servidor acham que dar ao bot a permissão de Administrador é suficiente para ignorar todas as restrições. Isso não é verdade. O cargo mais alto do bot deve ficar acima do cargo mais alto do usuário alvo para que comandos de moderação específicos funcionem. Este artigo explica exatamente como a hierarquia afeta as operações do bot e como corrigir falhas de permissão passo a passo.
Principais Conclusões: Hierarquia de Cargos e Permissões do Bot no Discord
- Configurações do Servidor > Cargos > arraste o cargo do bot acima dos cargos alvo: O cargo mais alto do bot deve estar posicionado acima de qualquer cargo que ele precise gerenciar.
- O cargo do bot deve ter a permissão Gerenciar Cargos: Mesmo que o bot seja administrador, a permissão Gerenciar Cargos deve estar ativada explicitamente no cargo dele.
- Configurações do Usuário > Avançado > Modo Desenvolvedor: Permite copiar IDs de usuários com clique direito para testar comandos do bot sem conflitos de hierarquia.
Por que a Hierarquia de Cargos do Discord Bloqueia Ações do Bot
O Discord usa um sistema de hierarquia de cargos onde os cargos são classificados por sua posição na lista Configurações do Servidor > Cargos. O cargo no topo da lista tem a classificação mais alta. Quando um bot tenta executar uma ação em um usuário, o Discord verifica a posição do cargo mais alto do bot em relação ao cargo mais alto do usuário alvo. Se o cargo do bot for inferior ou igual, a ação é negada.
Isso se aplica a todos os comandos de moderação: expulsar, banir, silenciar e atribuir cargos. Por exemplo, se um bot tem um cargo na posição 5 e um membro tem um cargo na posição 3, o bot não pode expulsar esse membro porque seu cargo é inferior. A mesma regra se aplica quando o bot tenta atribuir um cargo a si mesmo ou a outro usuário. O bot não pode atribuir um cargo que esteja posicionado no mesmo nível ou acima do seu próprio cargo mais alto.
Outro equívoco comum é que a permissão de Administrador ignora a verificação de hierarquia. Administrador concede acesso a todas as permissões, mas a verificação de hierarquia é separada. Mesmo com Administrador, um bot não pode agir sobre um usuário com um cargo mais alto. O cargo do bot ainda deve estar posicionado acima do cargo do usuário alvo.
Passos para Corrigir Falhas de Permissão do Bot Causadas pela Hierarquia de Cargos
- Abra as Configurações do Servidor
Clique com o botão direito no ícone do seu servidor na barra lateral esquerda. Selecione Configurações do Servidor no menu de contexto. - Navegue até a seção Cargos
No menu esquerdo, em Gerenciamento de Usuários, clique em Cargos. Você verá uma lista de todos os cargos do servidor, ordenados do mais alto ao mais baixo. - Localize o cargo do bot
Encontre o cargo atribuído ao seu bot. Se você tiver vários cargos no bot, encontre o mais alto. O bot usa seu cargo mais alto para verificações de hierarquia. - Arraste o cargo do bot para cima dos cargos alvo
Clique e arraste o cargo do bot para cima na lista. Posicione-o acima de qualquer cargo que o bot precise gerenciar. Por exemplo, se o bot deve expulsar membros com o cargo Moderador, arraste o cargo do bot para cima de Moderador. - Verifique a permissão Gerenciar Cargos
Clique no nome do cargo do bot. Em Permissões Gerais, certifique-se de que a opção Gerenciar Cargos está ativada. Essa permissão permite que o bot atribua e remova cargos de outros usuários. - Salve as alterações e teste
Clique em Salvar Alterações na parte inferior. Use um comando de teste como !kick @Usuário ou !mute @Usuário para confirmar que o bot agora funciona em usuários com cargos inferiores.
Se o Bot do Discord Ainda Não Consegue Executar Ações Após a Correção
O cargo do bot ainda está abaixo de um cargo que precisa gerenciar
Verifique a lista de cargos novamente. O cargo do bot deve estar acima de todos os cargos que ele irá atribuir ou gerenciar. Se você tiver vários cargos, certifique-se de que o cargo do bot está no topo da lista. Arraste-o acima de todos os cargos, exceto o cargo padrão @everyone, que deve permanecer na parte inferior.
O bot não tem a permissão necessária no cargo
Mesmo com a hierarquia correta, o bot deve ter a permissão específica ativada. Para expulsar, a permissão Expulsar Membros deve estar no cargo do bot. Para banir, Banir Membros. Para silenciar, Silenciar Membros ou Colocar em Tempo Limite. Abra o cargo do bot e verifique cada permissão individualmente.
O bot está tentando atribuir um cargo mais alto que ele mesmo
Se o bot tenta atribuir um cargo que está posicionado no mesmo nível ou acima do seu próprio cargo mais alto, a ação falha. Por exemplo, se o cargo do bot está na posição 2 e o cargo Admin está na posição 1, o bot não pode atribuir o cargo Admin. Mova o cargo do bot para cima de qualquer cargo que ele precise atribuir.
O bot está usando um comando ou código desatualizado
Alguns comandos de bot mais antigos podem não verificar a hierarquia corretamente. Atualize o bot para a versão mais recente ou entre em contato com o desenvolvedor do bot. Verifique o servidor de suporte do bot para problemas conhecidos com comandos específicos.
| Item | Configuração Incorreta | Configuração Correta |
|---|---|---|
| Posição do cargo do bot | Abaixo do cargo Moderador | Acima do cargo Moderador |
| Permissão Gerenciar Cargos | Desativada | Ativada |
| Cargo do bot e cargo do usuário alvo | Posição igual | Cargo do bot estritamente superior |
Agora você entende exatamente como a hierarquia de cargos do Discord afeta as operações do bot. O cargo mais alto do bot deve estar posicionado acima de qualquer cargo que ele precise gerenciar ou atribuir. Verifique a permissão Gerenciar Cargos no cargo do bot e certifique-se de que está ativada. Como dica avançada, use o Modo Desenvolvedor para copiar IDs de usuários e testar comandos em usuários específicos sem se preocupar com conflitos de hierarquia. Essa abordagem economiza tempo ao depurar problemas de permissão.