Corrigir Visibilidade de Canal do Discord Mostrando Estado Errado para Contas de Bot
🔍 WiseChecker

Corrigir Visibilidade de Canal do Discord Mostrando Estado Errado para Contas de Bot

Quando seu bot do Discord enxerga um canal de texto ou voz como visível quando deveria estar oculto, ou vice-versa, ele pode enviar mensagens para usuários errados ou falhar ao moderar conteúdo. Esse desencontro geralmente ocorre porque as permissões da função do bot ou as substituições de permissão do canal não estão configuradas corretamente. Neste artigo, você aprenderá a causa exata desse erro de visibilidade e a correção passo a passo para sincronizar o que seu bot vê com o layout de canais pretendido do seu servidor.

Principais Conclusões: Corrigindo Incompatibilidade de Visibilidade de Canal do Bot

  • Configurações do Servidor > Funções > @everyone > Ver Canais: Negue esta permissão globalmente e conceda-a apenas em canais específicos para ocultar canais do bot.
  • Configurações do Canal > Permissões > Substituições de Função: Permita ou negue explicitamente a permissão Ver Canais para a função do bot em cada canal.
  • Portal do Desenvolvedor Discord > Bot > Intenções de Gateway Privilegiadas: Ative a Intenção de Membros do Servidor se seu bot precisar ver membros para verificações de visibilidade.

ADVERTISEMENT

Por que o Bot do Discord Enxerga Visibilidade de Canal Errada

A visibilidade de canais do Discord para contas de bot é regida pelo mesmo sistema de permissões que se aplica a usuários humanos. A permissão chave é Ver Canais (também chamada de Ler Mensagens em versões antigas do cliente). Um bot pode ver um canal somente se pelo menos uma de suas funções tiver a permissão Ver Canais definida como PERMITIR nesse canal, e nenhuma função a tiver como NEGAR. O comportamento padrão é que todas as funções herdam as permissões da função @everyone. Se @everyone tiver Ver Canais definido como PERMITIR em um canal, o bot o vê — a menos que uma função de prioridade mais alta o negue explicitamente.

A causa raiz mais comum é que administradores de servidor criam canais privados negando Ver Canais para @everyone no nível do canal, mas esquecem de adicionar a função do bot às substituições de permissão do canal. O bot então não consegue ver o canal. Por outro lado, se @everyone tem permissão para ver um canal que deveria estar oculto dos bots, o bot o verá porque não há negação explícita para sua função.

Como a Hierarquia de Permissões Afeta os Bots

O Discord avalia as permissões nesta ordem:

  1. Padrões da função @everyone
  2. Substituições específicas de função no canal
  3. Substituições específicas de membro no canal

Para um bot, as mesmas regras se aplicam. Se o bot tiver várias funções, o Discord concede a permissão se qualquer função a permitir, a menos que outra função a negue. Uma NEGAÇÃO sempre substitui uma PERMISSÃO. Isso significa que se você definir @everyone para negar Ver Canais em um canal, mas der à função do bot uma permissão explícita, o bot verá o canal. Se você esquecer a permissão explícita, o bot não o verá.

Passos para Corrigir a Visibilidade de Canal do Bot no Discord

  1. Identifique o nome da função do bot
    Abra seu servidor Discord e vá em Configurações do Servidor > Funções. Encontre a função atribuída ao seu bot. Se você não criou uma função dedicada, o bot usa @everyone por padrão. Crie uma nova função com um nome como “Bot” e atribua-a ao bot em Configurações do Servidor > Membros.
  2. Defina @everyone globalmente como neutro para Ver Canais
    Em Configurações do Servidor > Funções > @everyone, localize a permissão Ver Canais. Defina-a como o símbolo de cruz (neutro). Isso garante que nenhum canal fique visível por padrão. Em seguida, permita manualmente Ver Canais nos canais que você deseja que o bot veja.
  3. Adicione a função do bot a cada canal alvo
    Clique com o botão direito no canal que você deseja que o bot acesse e selecione Editar Canal > Permissões. Clique em Adicionar Membros ou Funções, selecione a função do bot e defina Ver Canais como o visto verde (PERMITIR). Repita para cada canal que o bot deve ver.
  4. Negue Ver Canais nos canais que o bot não deve ver
    Para canais que devem permanecer ocultos do bot, adicione a função do bot e defina Ver Canais como o X vermelho (NEGAR). Isso substitui qualquer permissão herdada de outras funções.
  5. Teste a visibilidade com um comando simples
    Use um comando como !canais (se seu bot suportar) ou verifique os logs do bot. Alternativamente, envie uma mensagem como o bot usando um webhook ou o Bot > Gerar Token do Portal do Desenvolvedor para testar manualmente o acesso ao canal por meio de um cliente da API do Discord.

Verificando a Herança de Permissões com a Calculadora de Permissões do Discord

O Discord fornece uma calculadora de permissões integrada. Vá em Configurações do Servidor > Funções, clique na função do bot e role até o final. Clique em Ver Calculadora de Permissões. Selecione um canal e veja a permissão efetiva de Ver Canais. Se mostrar um X vermelho, o bot não pode ver esse canal. Ajuste as substituições até que a calculadora mostre um visto verde.

ADVERTISEMENT

Se o Bot do Discord Ainda Mostrar Visibilidade Errada

Bot Não Consegue Ver Nenhum Canal Após as Alterações

Se o bot não conseguir ver nenhum canal, significa que você negou Ver Canais para @everyone, mas não concedeu à função do bot em nenhum canal. Vá para pelo menos um canal, adicione a função do bot e defina Ver Canais como PERMITIR. O bot deve ter acesso a pelo menos um canal para funcionar.

Bot Vê Canais que Não Deveria Ver

Isso acontece quando a função do bot herda uma PERMISSÃO de @everyone ou de outra função. Verifique se @everyone tem Ver Canais definido como neutro ou negado no canal oculto. Em seguida, adicione a função do bot com uma NEGAÇÃO. Lembre-se de que uma NEGAÇÃO em qualquer função substitui PERMISSÃO de outras funções.

Função do Bot Tem Permissões Corretas, mas Ainda Falha

Raramente, o Discord armazena em cache dados de permissão por até 15 minutos. Aguarde 15 minutos e reinicie o bot. Se o problema persistir, remova a função do bot do servidor e adicione-a novamente. Isso limpa qualquer cache de permissão obsoleto no lado do Discord.

Configurações de Permissão do Discord: @everyone vs Função do Bot

Item Função @everyone Função Dedicada do Bot
Visibilidade padrão do canal Todos os canais visíveis se definido como PERMITIR Nenhuma visibilidade a menos que concedida explicitamente
Gerenciamento de permissões Afeta todos os usuários e bots sem função personalizada Afeta apenas a conta do bot
Melhor para ocultar canais de bots Defina Ver Canais como neutro e depois conceda por canal Adicione ao canal com NEGAÇÃO explícita
Risco de visibilidade acidental Alto se @everyone permanecer em PERMITIR Baixo porque você controla cada substituição de canal

Após corrigir as substituições de permissão, seu bot enxergará exatamente os canais que você pretende. Sempre use uma função de bot dedicada em vez de depender de @everyone. Teste a visibilidade com a calculadora de permissões antes de implantar seu bot em produção. Para configurações avançadas, considere usar o Registro de Auditoria do Discord (Configurações do Servidor > Registro de Auditoria) para rastrear quem alterou as permissões e quando.

ADVERTISEMENT