📋Sistema de Whitelist Automatizada - Flextor Network
Este sistema implementa uma whitelist interativa no Discord com integração direta a um banco de dados MySQL. Utiliza bot em Node.js com perguntas automatizadas, lógica de aprovação/reprovação, atualização de cargos, nickname e registro de logs.
📦 Requisitos
Node.js (v16+)
MySQL (ou MariaDB)
Servidor Discord com permissões corretas
Biblioteca
discord.js
v14Biblioteca
mysql2
Arquivo
.env
com variáveis de ambiente
⚙️ Instalação
1. Instale as dependências
2. Configure o .env
.env
Crie ou edite o arquivo .env
com as seguintes variáveis:
🚀 Inicialização
Após configuração do .env
:
O bot estará ativo e postará a mensagem inicial com botão para iniciar a whitelist no canal WL_INIT_CHANNEL_ID
.
📑 Fluxo da Whitelist
O usuário clica no botão “Iniciar Whitelist”.
Um canal privado é criado para o usuário.
As perguntas são enviadas uma a uma:
Perguntas 1 e 2: respostas de texto (ID e Nome Completo).
Perguntas 3 a 14: múltipla escolha com botões (A–D).
O usuário tem 2 minutos por pergunta.
Ao final:
Se acertar ≥ 80%, é aprovado:
Atualiza coluna
whitelisted
do bancoRecebe cargo aprovado
Nickname é alterado para
ID | Nome
Logs são enviados
Se falhar ou expirar o tempo:
Canal deletado
Logs de reprovação enviados
🧠 Personalização das Perguntas
No código (index.js
), localize o array questions
para editar ou traduzir as perguntas. As respostas corretas são definidas em correctAnswers
pelo índice correspondente.
🛠 Permissões necessárias
O bot precisa dos seguintes privilégios:
Gerenciar apelidos (
ManageNicknames
)Gerenciar cargos (
ManageRoles
)Gerenciar canais (
ManageChannels
)Ver, enviar e apagar mensagens em canais de whitelist
Certifique-se que o cargo do bot esteja acima dos cargos que ele precisa gerenciar.
🔒 Segurança
O bot ignora mensagens de outros bots.
O
.env
nunca deve ser exposto publicamente.Evite usar tokens e IDs reais ao compartilhar ou commitar o projeto.
🧪 Testes e Debug
Mensagens de erro e logs são enviados automaticamente.
Se algo der errado (ex: DB offline), o canal de whitelist será notificado.
Reprovação automática por timeout também é registrada.
📄 Créditos e Licença
Desenvolvido por Flextor Network. Todos os direitos reservados.
Atualizado