Por que o Erro 50013 do Discord Aparece Mesmo com o Cargo do Bot Acima do Alvo
🔍 WiseChecker

Por que o Erro 50013 do Discord Aparece Mesmo com o Cargo do Bot Acima do Alvo

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.

ADVERTISEMENT

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

  1. 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.
  2. 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.
  3. 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 por permissions na chamada guild.roles ou channel.set_permissions. Para discord.js, verifique PermissionFlags em message.member ou channel.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.
  4. 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.
  5. 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.
  6. 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.

ADVERTISEMENT

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.

ADVERTISEMENT