Intents privilegiados do Discord: presença, membros e conteúdo de mensagens
Intents privilegiados são os três intents do gateway que expõem dados sensíveis: atualizações de presença, a lista de membros do servidor e o conteúdo das mensagens. Um bot precisa ativar cada um no Developer Portal, e, quando passa de 100 servidores, também precisa ser verificado e aprovado pelo Discord para continuar usando-os.
Os três intents
- Presença: se os membros estão online, ociosos ou offline, além do status de atividade deles.
- Membros do servidor: eventos de entrada e saída de membros e a lista completa de membros. Necessário para mensagens de boas-vindas, verificação e cargos automáticos.
- Conteúdo de mensagens: o texto, os embeds e os anexos reais das mensagens. Necessário para ler comandos de prefixo e para qualquer coisa que analise texto.
Sem o conteúdo de mensagens, um bot ainda recebe mensagens que o mencionam, mensagens diretas e as próprias mensagens, além de interações como comandos de barra. É por isso que os bots modernos se apoiam em comandos de barra.
Como funciona a aprovação
Para um bot em menos de 100 servidores, basta marcar a opção na página do bot no Developer Portal. Quando um bot chega a 100 servidores, o Discord exige a verificação dele, e os intents privilegiados então precisam de aprovação com um motivo declarado. Sem ela, o bot os perde. O Discord decide caso a caso, então uma explicação clara do recurso que precisa dos dados ajuda.
Se um bot se conecta pedindo um intent privilegiado que não ativou, o Discord fecha a conexão com o erro 4014. Essa é uma causa frequente de um bot ficar offline logo após a configuração. Veja a explicação do 4014.
Por que donos de servidor se importam
Esses intents são a parte de um bot que toca nos dados dos seus membros. O conteúdo de mensagens é o que vale a pena pensar: um bot que lê mensagens pode filtrar spam e links, mas também vê tudo o que é dito onde tem acesso. Você pode limitar isso negando ao bot a permissão Ver canais em áreas privadas.
Também afeta a confiabilidade. Um bot que perde um intent aprovado pode parar silenciosamente de dar boas-vindas aos membros ou de aplicar as regras.
Noxyr e intents privilegiados
Para um bot personalizado do Noxyr que usa a sua própria aplicação, a configuração exige que o Server Members Intent e o Message Content Intent estejam ativados no Developer Portal. Os recursos do Noxyr que dependem deles incluem mensagens de boas-vindas, verificação e anti-spam. Leia o guia completo sobre intents privilegiados do gateway, e veja a ideia mais ampla em intents do gateway.
Confira antes de instalar um bot
Pergunte quais intents privilegiados um bot usa e para quê. Um bot de música raramente precisa de dados de presença, e um bot de enquetes raramente precisa ler todas as mensagens. Se a resposta for vaga, escolha outro bot.
Perguntas frequentes
Quais intents são privilegiados?
Presença, membros do servidor e conteúdo de mensagens.
Por que meu bot desconecta com o erro 4014?
Ele pediu um intent privilegiado que não está ativado no Developer Portal. Ative-o e reinicie o bot.
Quais intents um bot personalizado do Noxyr precisa?
O Server Members Intent e o Message Content Intent precisam estar ativados na sua própria aplicação.