Bot Discord de verificação de membros com OAuth
Verificação OAuth separa humanos reais de contas descartáveis antes de liberar canais sensíveis. Este guia cobre fluxo técnico, permissões mínimas, anti abuso e hospedagem estável para comunidades que crescem rápido.
Por que verificação OAuth
Comunidades públicas recebem ondas de contas novas após divulgação em TikTok, live ou parceria. Sem verificação, raid entra direto nos canais gerais e staff perde horas banindo em série. Bot de verificação com OAuth2 liga a conta Discord do membro a um fluxo web controlado por você, valida identidade mínima e só então concede cargo que libera o restante do servidor.
Captcha sozinho filtra parte do ruído, mas não prova vínculo estável com a conta Discord. OAuth fecha esse gap porque exige login real na plataforma. Para servidores que vendem VIP ou compartilham IP de Minecraft Pro, verificação reduz vazamento de dados sensíveis para contas recém criadas.
- Separa humanos de bots descartáveis antes de liberar chat geral.
- Cria trilha de auditoria: quem passou, quando e por qual fluxo.
- Permite integrar whitelist de jogo após cargo verificado.
Fluxo OAuth2 passo a passo
OAuth2 no Discord usa redirect URI, client ID e client secret guardados fora do código. O membro clica em Verificar, autoriza escopos definidos pelo app e retorna para sua página com code temporário. Seu backend troca code por token, consulta /users/@me e aplica regra de cargo no guild.
- Membro clica no botão Verificar no Discord ou em embed fixo.
- Bot redireciona para URL de autorização com
client_id,redirect_uri,scopeestate. - Discord exibe tela de consentimento com escopos solicitados.
- Callback recebe
codee validastateda sessão. - Backend faz POST para
/oauth2/tokene obtém access token. - Bot atribui cargo verificado e registra evento em canal de log interno.
| Parâmetro | Função | Erro comum |
|---|---|---|
| state | Protege contra CSRF no callback | State fixo ou ausente |
| redirect_uri | Deve bater exatamente com o Portal | HTTP em produção |
| scope | Define dados acessíveis | Pedir escopos demais |
| code | Uso único e curta duração | Reutilizar code expirado |
Gere state com bytes aleatórios, associe à sessão do usuário e invalide após uso. Isso impede que atacante force callback em conta alheia.
Arquitetura bot mais API web
Arquitetura saudável separa bot gateway do serviço HTTP que recebe callback OAuth. Bot fica online 24 horas ouvindo eventos. API Express, Fastify ou similar trata callback, valida state anti CSRF e grava sessão em Redis ou Postgres. Rate limit no endpoint de callback evita abuso. Logs com guild ID e user ID aceleram auditoria pós incidente.
Componentes típicos
- Processo bot: discord.js, conexão gateway, fila de atribuição de cargo.
- API web: HTTPS público, certificado válido, healthcheck em
/health. - Banco ou cache: mapeia user ID verificado, timestamp e tentativas falhas.
- Reverse proxy: nginx ou Caddy na frente da API com limite de conexão.
Para padronizar deploy do bot, siga o guia de deploy com PM2. Se a API crescer, considere VPS Ryzen com nginx servindo site e bot no mesmo host, sempre com limites de memória por processo.
Nunca exponha client secret no frontend ou em repositório público. Qualquer vazamento permite que terceiros emitam tokens em nome do seu app.
Segurança, escopos e anti raid
Escopos identify e guilds.join são comuns. Quanto menos escopo, melhor para confiança do usuário e conformidade. Nunca peça email sem necessidade real. Anti raid combina idade mínima de conta, captcha opcional na web e fila de verificação em pico.
Cargo verificado deve ser único ponto de entrada: canais sensíveis bloqueiam @everyone e permitem só quem passou OAuth. Revise permissões do bot: Manage Roles abaixo do cargo mais alto que ele precisa atribuir. Token de bot e client secret em variáveis de ambiente. Rotacione se vazar em log ou print.
- Idade mínima de conta configurável por guild.
- Rate limit no callback por IP e por user ID.
- Canal de log com staff-only para tentativas suspeitas.
- Revisão trimestral de escopos OAuth no Developer Portal.
- Plano de resposta se OAuth ou API Discord ficarem indisponíveis.
Em pico de rate limit da API, consulte como corrigir erro 429. Moderação complementar aparece no guia de bot de moderação para Minecraft.
Hospedagem e operação contínua
Verificação falha quando callback fica offline ou certificado expira. Bot parado impede atribuir cargo mesmo com OAuth concluído. Hospedagem no Brasil reduz latência entre callback web e API Discord. Monitore uptime dos dois processos: gateway e API HTTP.
Equipes pequenas costumam fechar operação com planos de bots StreetHosting, enquanto projetos com site custom, painel e bridge Minecraft preferem VPS root ou servidor dedicado quando o tráfego de verificação explode após evento ao vivo.
- Configure alerta se API de callback retornar 5xx por mais de 2 minutos.
- Renove certificado TLS com antecedência; Let's Encrypt avisa por email.
- Teste fluxo completo em servidor de staging antes de trocar redirect em produção.
- Documente runbook: o que fazer se Discord OAuth ficar fora do ar.
Para uptime previsível do bot gateway, leia também hospedagem bot Discord 24 horas. O objetivo final é comunidade segura sem fricção desnecessária: verificação rápida, transparente e estável o suficiente para aguentar o primeiro viral.
Perguntas frequentes
- Verificação OAuth impede raid instantâneo?
- Reduz muito contas descartáveis sem esforço. Combine com idade mínima de conta e rate limit no callback para campanhas coordenadas. Nenhuma solução substitui moderação humana em incidente grave.
- Quais escopos OAuth pedir?
- Na maioria dos casos identify basta para confirmar user ID. guilds.join só se você realmente precisa adicionar o membro via OAuth. Evite email e connections sem motivo claro para o usuário.
- Posso usar bot pronto de verificação?
- Sim para lançamento rápido. Custom vale quando integra whitelist Minecraft, loja ou painel próprio. Em ambos os casos uptime 24 horas e HTTPS válido no redirect são obrigatórios.
- Site OAuth e bot no mesmo servidor?
- Possível em VPS com nginx separando portas. Host gerenciado de bots simplifica o processo do bot enquanto site fica em outro serviço. Monitore RAM se unificar tudo no mesmo host. Guarde client secret em variável de ambiente e rotacione se vazar.
Próximo passo
Ver planos de bots
Bots Discord 24/7 com ativação rápida e suporte em português.
Guias relacionados
Hospedagem de bot Discord 24/7 no Brasil
Hospedagem bot Discord 24/7 combina process manager com restart automático, token fora do código, logs e servidor no Brasil para latência baixa com a API e seus jogadores.
Deploy de bot Discord Node.js com PM2: variáveis de ambiente e restart automático
PM2 é gerenciador de processos Node popular para bots Discord porque reinicia após crash, persiste entre reboots quando combinado com startup hook e centraliza logs mínimos sem montar Kubernetes inteiro. Este guia cobre arquivo ecosystem, env vars para token e integração com hospedagem BR.
Bot Discord de moderação para servidor Minecraft
Discord e Minecraft compartilham a mesma comunidade. Bot bem integrado une whitelist, punições e alertas de uptime em um único fluxo de moderação.