O Erro 50013 do Discord significa Permissões Ausentes. Ele aparece quando um bot tenta executar uma ação para a qual não tem permissão. Você pode ver esse erro mesmo quando o cargo do bot está posicionado acima do usuário ou canal alvo na hierarquia de cargos. Isso acontece porque a posição do cargo por si só não concede permissões — o bot também precisa ter as flags de permissão corretas ativadas. Este artigo explica os motivos técnicos exatos pelos quais o Erro 50013 persiste, como verificar e atribuir as permissões necessárias e o que fazer quando o erro ainda aparece após você ter verificado a hierarquia de cargos.
Principais Conclusões: Corrigindo o Erro 50013 do Discord Quando a Posição do Cargo do Bot Está Correta
- Configurações do Servidor > Cargos > Cargo do Bot > Permissões: O bot deve ter flags de permissão explícitas ativadas para a ação que tenta executar, não apenas uma posição alta de cargo.
- Sobreposições de permissão específicas do canal: Mesmo que o cargo do bot tenha permissões globais, um canal pode negar essas permissões por meio de sobreposições — verifique cada canal alvo.
- Bitfield de permissão da API do Discord: O código do bot deve solicitar o inteiro de permissão exato que corresponde à ação; uma incompatibilidade no bitfield causa o Erro 50013.
Por que o Erro 50013 Ocorre Mesmo Quando o Cargo do Bot Está Acima do Alvo
O Erro 50013 é um erro de Permissões Ausentes retornado pela API do Discord. Significa que o bot não tem a permissão específica necessária para concluir a ação solicitada. Muitos administradores de servidor assumem que, se o cargo do bot estiver posicionado acima do usuário ou canal alvo, o bot herda automaticamente todas as permissões. Isso não está correto. A hierarquia de cargos determina apenas quais cargos podem moderar outros cargos — ela não concede nenhuma permissão por si só.
A causa raiz técnica é que o bot não possui um ou mais dos seguintes:
- A flag de permissão na lista de permissões do cargo do bot (Configurações do Servidor > Cargos > Cargo do Bot > Permissões)
- A flag de permissão nas sobreposições de permissão específicas do canal (Configurações do Canal > Permissões)
- O inteiro de permissão correto no código do bot ao usar a API do Discord ou uma biblioteca como discord.py ou discord.js
Além disso, o bot pode estar sem a permissão Administrador, que ignora todas as verificações de permissão. Sem Administrador, cada ação requer a flag de permissão exata ativada no nível do servidor ou do canal.
O Papel das Sobreposições de Permissão nos Canais
Mesmo que o cargo do bot tenha todas as permissões ativadas globalmente, um canal pode substituir essas permissões. Por exemplo, um canal pode negar a permissão Enviar Mensagens para o cargo do bot. Nesse caso, o bot não pode enviar mensagens naquele canal e o Erro 50013 aparece. Verifique as sobreposições de permissão específicas do canal clicando com o botão direito no canal, selecionando Editar Canal, depois a guia Permissões, e observando as entradas do cargo do bot.
Como Funcionam os Bitfields de Permissão da API do Discord
Quando um bot usa a API do Discord, ele deve solicitar o inteiro de permissão correto para cada ação. Por exemplo, para expulsar um membro, o bot precisa da permissão Expulsar Membros, que corresponde ao valor do bitfield 2. Se o código do bot solicitar um inteiro de permissão que não corresponde à ação, a API retorna o Erro 50013. Isso acontece mesmo que o cargo do bot tenha a permissão ativada nas configurações do servidor — o código deve passar o inteiro correto.
Passos para Diagnosticar e Corrigir o Erro 50013 Quando a Posição do Cargo Está Correta
- Verifique as permissões globais do cargo do bot
Vá em Configurações do Servidor > Cargos. Encontre o cargo do bot. Clique nos três pontos ao lado dele e selecione Editar Cargo. Abra a guia Permissões. Percorra a lista e verifique se a permissão específica necessária para a ação está ativada. Por exemplo, se o bot tenta gerenciar mensagens, ative Gerenciar Mensagens. - Verifique as sobreposições de permissão específicas do canal
Clique com o botão direito no canal onde o erro ocorre. Selecione Editar Canal. Vá para a guia Permissões. Encontre o cargo do bot na lista. Procure a permissão necessária e certifique-se de que está definida como um visto verde (permitido) em vez de um X vermelho (negado) ou uma barra cinza (neutro). Se a permissão estiver neutra, a permissão global do cargo se aplica. Se estiver negada, altere para permitido. - Verifique o inteiro de permissão no código do bot
Abra o código-fonte do bot. Encontre a chamada de API que dispara o erro. Verifique o inteiro de permissão que está sendo passado. Para discord.py, procure porpermissionsna chamadaguild.rolesouchannel.set_permissions. Para discord.js, verifiquePermissionFlagsemmessage.memberouchannel.permissionOverwrites. Certifique-se de que o inteiro corresponde à ação. Use a Calculadora de Permissões do Discord em discordapi.com/permissions.html para gerar o inteiro correto. - Ative a permissão de Administrador como teste
Ative temporariamente a permissão Administrador no cargo do bot. Se o erro desaparecer, você sabe que o problema é uma permissão específica ausente. Desative Administrador após o teste e ative apenas as permissões necessárias. - Reconvide o bot com as permissões corretas
Use o Portal do Desenvolvedor do Discord para gerar um novo URL de convite com as permissões exatas necessárias. Vá até sua aplicação no Portal do Desenvolvedor, selecione OAuth2 > Gerador de URL, marque o escopo bot e depois marque as flags de permissão necessárias. Use o URL gerado para reconvidar o bot. Isso garante que o token do bot esteja associado ao bitfield de permissão correto desde o início. - Verifique se o cargo do usuário alvo está acima do cargo do bot
Mesmo que o cargo do bot esteja acima do usuário alvo, o usuário alvo pode ter outro cargo que seja mais alto que o cargo do bot. O Discord usa o cargo mais alto do usuário alvo para verificações de hierarquia. Vá em Configurações do Servidor > Cargos e classifique os cargos por posição. Certifique-se de que o cargo do bot está acima de todos os cargos que o usuário alvo possui. Se não, mova o cargo do bot para acima do cargo mais alto do usuário alvo.
Se o Erro 50013 do Discord Ainda Aparecer Após a Correção Principal
Bot Não Consegue Gerenciar Mensagens em um Canal Específico
O cargo do bot tem Gerenciar Mensagens ativado globalmente, mas o Erro 50013 ainda aparece quando o bot tenta excluir mensagens. Verifique as sobreposições de permissão do canal. Um erro comum é que o cargo @everyone tem Gerenciar Mensagens negado naquele canal. Mesmo que o cargo do bot esteja permitido, a negação do @everyone pode se propagar. Para corrigir, defina a sobreposição de Gerenciar Mensagens do cargo do bot como permitida explicitamente no canal.
Bot Não Consegue Criar Tópicos em um Canal Fórum
Canais Fórum têm permissões separadas para criar tópicos e enviar mensagens. O Erro 50013 aparece se o bot não tiver a permissão Criar Tópicos Públicos ou Criar Tópicos Privados. Ative essas permissões nas permissões globais do cargo do bot ou nas sobreposições do canal.
Bot Não Consegue Adicionar Reações a Mensagens
A permissão Adicionar Reações é necessária para que o bot adicione reações. Se o cargo do bot tem essa permissão, mas o erro persiste, verifique se o canal alvo tem a permissão Usar Emojis Externos desativada. Se o bot usa emojis personalizados de outro servidor, essa permissão deve estar ativada.
Tipos de Permissão do Discord: Global vs Sobreposição de Canal vs Bitfield da API
| Item | Permissões Globais do Cargo | Sobreposições de Permissão do Canal | Bitfield da API no Código |
|---|---|---|---|
| Onde definir | Configurações do Servidor > Cargos > Cargo do Bot > Permissões | Configurações do Canal > Permissões > Cargo do Bot | Código-fonte do bot (ex.: discord.py, discord.js) |
| O que controla | Permissão padrão para todos os canais, a menos que substituída | Substitui a permissão global para um canal específico | O inteiro exato que o bot envia com as requisições da API |
| Por que o Erro 50013 aparece | Flag de permissão desativada | Sobreposição definida como negar | Inteiro não corresponde à ação |
O Erro 50013 é causado por uma permissão ausente em um desses três níveis. A posição do cargo acima do usuário alvo afeta apenas ações de moderação como expulsar, banir e timeout — ela não ignora verificações de permissão para outras ações. Para resolver o erro completamente, verifique todas as três camadas: permissões globais, sobreposições de canal e o bitfield da API no código do bot. Use a Calculadora de Permissões do Discord para gerar o inteiro correto e reconvide o bot, se necessário. Após aplicar essas verificações, o bot conseguirá executar a ação pretendida sem que o Erro 50013 apareça.