Você convidou um bot para o seu servidor Discord, mas ele não consegue ler posts dentro de canais de fórum. O bot pode estar online, mas não responde quando usuários criam novos tópicos ou respondem a existentes. Esse problema geralmente acontece porque o bot não tem as permissões corretas para canais de fórum, que possuem um modelo de permissão diferente dos canais de texto. Este artigo explica por que os bots falham ao ler tópicos do fórum e fornece uma correção passo a passo para restaurar a funcionalidade completa do bot.
Principais conclusões: Corrigindo o acesso do bot a tópicos do fórum
- Configurações do Servidor > Cargos > Gerenciar Permissões > Ver Canais: O cargo do bot deve ter essa permissão ativada para a categoria do canal de fórum ou para o próprio canal.
- Configurações do Servidor > Cargos > Gerenciar Permissões > Ler Histórico de Mensagens: Necessário para que o bot veja posts feitos antes de entrar no tópico.
- Configurações do Servidor > Integrações > Bots e Apps > Gerenciar Permissões: Substitua as permissões específicas do bot diretamente, sem alterar o cargo.
Por que os bots do Discord não conseguem ler tópicos do fórum
Canais de fórum no Discord são um tipo especial de canal projetado para discussões organizadas. Cada post do fórum se torna um tópico separado. Os bots interagem com fóruns de maneira diferente dos canais de texto. A causa raiz é que os tópicos do fórum herdam permissões do canal de fórum pai, não da lista de canais do servidor. Se o cargo do bot não tiver permissões explícitas no canal de fórum, o bot não consegue ver nenhum tópico dentro dele.
O Discord aplica uma hierarquia de permissões: permissões de nível de servidor substituem permissões específicas de canal. No entanto, canais de fórum têm uma camada extra. Mesmo que o cargo do bot tenha a permissão Ver Canais ativada no nível do servidor, o próprio canal de fórum pode negar o acesso. Além disso, os bots precisam da permissão Ler Histórico de Mensagens para acessar o conteúdo existente do tópico. Sem ela, o bot só consegue ver mensagens postadas depois que ele entra no tópico.
Permissões do bot vs. permissões do cargo
Quando você adiciona um bot ao seu servidor, concede a ele um conjunto de permissões durante o fluxo de autorização OAuth2. Essas permissões se aplicam ao bot como membro. No entanto, o proprietário do servidor pode substituir essas permissões editando o cargo do bot ou usando o menu Integrações. O menu Integrações fornece uma interface dedicada para gerenciar permissões específicas do bot por canal, sem alterar as configurações globais do cargo.
Herança de permissões do canal de fórum
Os tópicos do fórum herdam permissões do canal de fórum pai. Isso significa que, se o bot não conseguir ver o canal de fórum, ele não conseguirá ver nenhum tópico dentro dele. Por outro lado, se o bot conseguir ver o canal de fórum, mas não tiver a permissão Ler Histórico de Mensagens, ele poderá ver novas mensagens em tópicos que entrar, mas não conseguirá ler posts históricos. Essa distinção é crítica para bots que precisam escanear todo o conteúdo do tópico para comandos ou moderação.
Passos para corrigir o acesso do bot a tópicos do fórum
Siga estes passos para conceder ao seu bot as permissões necessárias. Você deve ter a permissão Gerenciar Servidor no servidor Discord para fazer essas alterações.
- Abra as Configurações do Servidor
Clique com o botão direito no nome do seu servidor na lista de canais e selecione Configurações do Servidor no menu de contexto. Como alternativa, clique no nome do servidor no canto superior esquerdo e escolha Configurações do Servidor. - Selecione Cargos na barra lateral esquerda
Em Gerenciamento de Usuários, clique em Cargos. Encontre o cargo atribuído ao seu bot. Se você não criou um cargo dedicado, o bot usa o cargo @everyone padrão mais as permissões concedidas durante o OAuth2. É uma boa prática criar um cargo separado para o bot. - Configure as permissões do cargo do bot
Clique no nome do cargo do bot. Em Permissões Gerais, ative Ver Canais. Em Permissões de Texto, ative Ler Histórico de Mensagens e Enviar Mensagens. Role para baixo e certifique-se de que Enviar Mensagens em Tópicos e Criar Tópicos Públicos também estejam ativados. Clique em Salvar Alterações. - Aplique permissões ao canal de fórum
Volte à lista de canais. Clique com o botão direito no canal de fórum e selecione Editar Canal. Clique em Permissões à esquerda. Em Cargos/Membros, encontre o cargo do bot. Se não estiver listado, clique no ícone de adição e adicione-o. Ative Ver Canais, Ler Histórico de Mensagens e Enviar Mensagens para este canal. Clique em Salvar Alterações. - Use Integrações para controle preciso
Volte às Configurações do Servidor. Clique em Integrações na barra lateral esquerda. Encontre seu bot em Bots e Apps. Clique em Gerenciar. Você verá uma lista de canais. Clique no nome do canal de fórum. Ative as mesmas permissões: Ver Canais, Ler Histórico de Mensagens, Enviar Mensagens e Enviar Mensagens em Tópicos. Este método substitui quaisquer configurações baseadas em cargo para aquele canal específico. - Teste o bot
Crie um novo post no fórum no canal de fórum. Digite uma mensagem que acione um comando do bot. O bot agora deve responder. Se o bot ainda não responder, verifique as configurações de permissão do próprio bot no painel de controle ou na documentação. Alguns bots exigem configuração adicional para ler tópicos do fórum.
Se o bot ainda não conseguir ler tópicos do fórum
Mesmo após seguir os passos acima, alguns bots podem continuar sem responder. Os problemas a seguir são comuns e têm correções específicas.
Bot usa apenas comandos de barra
Alguns bots ignoram mensagens em tópicos, a menos que a mensagem contenha um comando de barra. Se o seu bot suporta apenas comandos de barra, digite uma barra no tópico e veja se os comandos do bot aparecem. Se não aparecerem, o bot pode não suportar comandos de barra em tópicos. Verifique a página de suporte do bot ou a lista de comandos.
Bot requer a permissão Usar Emojis Externos
Bots que usam emojis personalizados nas respostas precisam da permissão Usar Emojis Externos. Essa permissão nem sempre é concedida por padrão. Adicione-a ao cargo do bot ou através do menu Integrações para o canal de fórum.
Canal de fórum está arquivado ou bloqueado
Se um post do fórum estiver arquivado, os bots não podem ler ou escrever nele. Apenas membros do servidor com a permissão Gerenciar Tópicos podem desarquivar um post. Verifique se o tópico está arquivado procurando pelo ícone de arquivo. Se estiver arquivado, peça a um moderador para desarquivá-lo.
Bot foi adicionado antes da existência de canais de fórum
Bots adicionados a um servidor antes do Discord introduzir canais de fórum podem não ter os flags de permissão corretos. Reconvide o bot usando um link OAuth2 atualizado que inclua as permissões necessárias. Acesse o site do bot ou o Portal do Desenvolvedor do Discord para gerar um novo URL de convite com permissões de fórum ativadas.
Requisitos de permissão do bot: Método de cargo vs. Integrações
| Item | Permissões do Cargo | Permissões de Integrações |
|---|---|---|
| Escopo | Aplica-se a todos os canais onde o cargo é adicionado | Aplica-se apenas ao canal específico configurado |
| Tempo de configuração | Requer editar permissões do cargo e do canal separadamente | Interface única em Configurações do Servidor > Integrações |
| Comportamento de substituição | Permissões do cargo são substituídas por substituições de cargo específicas do canal | Permissões de Integrações substituem configurações de cargo e canal |
| Melhor para | Bots que precisam de acesso a vários canais de fórum | Bots que precisam de acesso a apenas um ou dois fóruns específicos |
Conceder permissões através do menu Integrações é o método mais confiável, pois ignora configurações conflitantes de cargo. Use o método de cargo quando quiser que o bot tenha acesso consistente a todos os canais de fórum.