Ao restaurar um servidor do Discord a partir de um backup ou readicioná-lo após uma exclusão, as posições da hierarquia de cargos podem ser redefinidas para a ordem padrão. Isso acontece porque o Discord armazena as posições dos cargos como metadados vinculados ao ID do servidor, e os processos de restauração nem sempre preservam esses metadados. A hierarquia de cargos determina quais cargos podem moderar outros, então uma redefinição pode quebrar estruturas de permissão e causar conflitos inesperados. Este artigo explica o motivo técnico por trás da redefinição e fornece um método passo a passo para restaurar a ordem desejada dos cargos.
Principais conclusões: Redefinição da hierarquia de cargos do Discord após restauração do servidor
- Configurações do servidor > Cargos > arraste os cargos manualmente: A única maneira confiável de reordenar cargos após uma redefinição de restauração.
- Persistência do ID do cargo vs. metadados de posição: Os IDs dos cargos permanecem intactos, mas os dados de posição são perdidos durante a restauração do servidor.
- Limitações dos bots de backup: A maioria dos bots de backup não consegue restaurar as posições da hierarquia de cargos porque a API do Discord não expõe dados de posição nos backups.
Por que as posições da hierarquia de cargos do Discord são redefinidas após a restauração do servidor
Os servidores do Discord armazenam as posições da hierarquia de cargos como parte dos metadados do servidor em uma tabela de banco de dados separada dos próprios objetos de cargo. Quando você exclui um servidor e depois o restaura a partir de um backup, o servidor recebe um novo ID interno. Os objetos de cargo são recriados com os mesmos nomes, cores e permissões, se a ferramenta de backup capturar esses dados. No entanto, os metadados de posição estão vinculados ao ID original do servidor e não são incluídos nas exportações padrão de backup do Discord. Como resultado, os cargos aparecem na ordem em que foram recriados, que geralmente é alfabética ou a ordem em que a ferramenta de backup os processou.
A API do Discord não fornece um método para ferramentas de terceiros lerem ou gravarem dados de posição de cargos em massa. Bots de backup e ferramentas de clonagem de servidor podem criar cargos com as mesmas propriedades, mas não podem definir sua posição na hierarquia. Esta é uma limitação deliberada para evitar abusos, como conceder automaticamente permissões de alto nível a cargos de baixo nível. A única maneira de definir as posições dos cargos é através da interface do cliente Discord ou do endpoint PATCH da API, que requer intervenção manual.
A hierarquia de cargos determina quais cargos podem moderar outros, atribuir cargos e gerenciar canais. Uma redefinição pode fazer com que cargos que estavam no topo caiam para o final, tornando-os incapazes de moderar cargos que estavam abaixo. Isso pode quebrar cadeias de permissão e causar comportamentos inesperados, como um cargo de moderador não conseguir expulsar membros que possuem um cargo que antes estava mais baixo na hierarquia.
Como restaurar a posição correta da hierarquia de cargos
Restaurar a posição da hierarquia de cargos requer reordenação manual através do cliente Discord. Não há uma maneira automatizada de fazer isso porque o Discord não expõe dados de posição para ferramentas de backup. Siga estes passos para reordenar seus cargos corretamente.
- Abra as Configurações do Servidor
Clique com o botão direito no ícone do servidor na barra lateral esquerda e selecione Configurações do Servidor. Alternativamente, clique no nome do servidor no topo da lista de canais e escolha Configurações do Servidor no menu suspenso. - Vá para a aba Cargos
Na barra lateral esquerda das Configurações do Servidor, clique em Cargos. Você verá uma lista de todos os cargos do servidor. A ordem atual da hierarquia é mostrada de cima para baixo, com o cargo mais alto no topo. - Arraste os cargos para a ordem correta
Clique e segure o ícone de alça de arrastar (seis pontos) ao lado do nome do cargo. Arraste o cargo para cima ou para baixo até a posição correta na hierarquia. O cargo mais alto deve ficar no topo, e o mais baixo no final. Solte o botão do mouse para posicionar o cargo em sua nova posição. - Repita para todos os cargos
Continue arrastando cada cargo até que a hierarquia corresponda à ordem desejada. Você também pode usar o atalho de teclado selecionando um cargo e pressionando Alt+Seta para Cima ou Alt+Seta para Baixo no Windows, ou Option+Seta para Cima ou Option+Seta para Baixo no macOS, para mover o cargo uma posição de cada vez. - Salve suas alterações
O Discord salva a nova hierarquia automaticamente enquanto você arrasta. Nenhum botão de salvar é necessário. A ordem é atualizada imediatamente para todos os membros do servidor.
Usando a API do Discord para reordenar cargos
Se você tem experiência em programação, pode reordenar cargos usando a API REST do Discord. Este método é mais rápido para servidores com muitos cargos. Você precisa de um token de bot com a permissão Gerenciar Cargos e os IDs dos cargos. Envie uma requisição PATCH para o endpoint /guilds/{guild.id}/roles com um array JSON de IDs de cargos na ordem desejada. O primeiro ID no array se torna o cargo mais alto. Este método requer planejamento cuidadoso para evitar bloquear acidentalmente seu próprio acesso ao servidor.
Se o Discord ainda redefinir as posições dos cargos após a reordenação manual
Alguns usuários relatam que as posições dos cargos são redefinidas novamente após uma reordenação manual. Isso geralmente acontece quando um bot de backup ou ferramenta de restauração de servidor é executado novamente e sobrescreve os cargos. Aqui estão as causas comuns e como corrigi-las.
Bot de backup é executado novamente e sobrescreve os cargos
Se você usa um bot de backup para restaurar cargos, executar o comando de restauração novamente recriará os cargos na ordem padrão. Para evitar isso, desative a função de restauração automática de cargos do bot. Vá para o painel do bot ou lista de comandos e procure por uma configuração chamada Restauração Automática de Cargos ou Sincronização de Cargos. Desligue-a. Em seguida, reordene manualmente os cargos usando os passos acima.
Modelo de servidor causa redefinição da ordem dos cargos
Se você criou o servidor a partir de um modelo de servidor do Discord, o modelo pode definir uma ordem padrão de cargos. Quando você aplica o modelo novamente, ele redefine os cargos. Para evitar isso, não reaplique o modelo após ter reordenado manualmente os cargos. Em vez disso, salve o servidor como um novo modelo após a reordenação e use esse modelo para futuras restaurações.
Vários administradores reordenam cargos simultaneamente
Quando dois administradores reordenam cargos ao mesmo tempo, a API do Discord pode mesclar as alterações incorretamente, causando uma redefinição. Para evitar isso, coordene com outros administradores e reordene os cargos um de cada vez. Use o método de atalho de teclado para fazer alterações rapidamente e reduzir a chance de conflitos.
Hierarquia de cargos do Discord: Reordenação manual vs. API vs. Bot de backup
| Item | Reordenação Manual | Reordenação via API | Bot de Backup |
|---|---|---|---|
| Velocidade | Lenta para muitos cargos | Rápida com script | Não funciona |
| Confiabilidade | 100% confiável | 100% confiável | Não restaura posições |
| Habilidade necessária | Nenhuma | Conhecimento de programação | Nenhuma |
| Risco de erro | Baixo | Médio se o script estiver errado | N/A |
Após restaurar seu servidor, as posições da hierarquia de cargos são redefinidas porque o Discord não armazena dados de posição em backups. Você pode corrigir isso arrastando manualmente os cargos para a ordem correta em Configurações do Servidor > Cargos. Para servidores com muitos cargos, considere usar a API do Discord com um script personalizado para reordená-los programaticamente. Para evitar redefinições futuras, desative a restauração automática de cargos em bots de backup e evite reaplicar modelos de servidor após a reordenação.