AuthEngageBot é um bot para Discord que realiza autenticação de usuários e monitoramento de engajamento, como contagem de mensagens e participação em reuniões de voz. Este projeto é uma Proof of Concept (PoC).
- Registro de usuários com nome de usuário e senha.
- Autenticação de usuários.
- Atribuição de cargo após autenticação.
- Monitoramento de mensagens enviadas por mês.
- Monitoramento de participação em reuniões de voz (entradas e duração).
- Geração de relatórios de engajamento.
- Node.js v14 ou superior
- npm (gerenciador de pacotes do Node.js)
- PM2 (gerenciador de processos para Node.js)
- Um servidor Discord
- Um bot do Discord configurado com permissões adequadas
- Bcrypt: 5.1.1 (Criar hashs para salvar senhas)
- Discord.js: 14.15.3 (Biblioteca Node.js com integração a api do Discord)
-
Clone este repositório:
git clone https://github.com/seu-usuario/AuthEngageBot.git cd AuthEngageBot
-
Instale as dependências:
npm install
-
Instale o PM2 globalmente (se ainda não estiver instalado):
npm install -g pm2
-
Crie um arquivo
.env
na raiz do projeto com as seguintes variáveis:SECRET_KEY=seu-bot-token ALLOWED_ROLEID=id-do-cargo-permitido AUTH_ROLE_ID=id-do-cargo-autenticado AUTH_CHANNEL_ID=id-do-canal-de-autenticacao PROTECTED_CHANNEL_ID=id-do-canal-protegido
-
Crie um arquivo
users.json
na raiz do projeto:{}
-
Inicie o bot com PM2:
pm2 start index.js --name auth-engage-bot
-
Para visualizar o status do bot:
pm2 status
-
Para visualizar os logs do bot:
pm2 logs auth-engage-bot
-
No Discord, vá ao canal de autenticação configurado e use o comando
!register
:!register
-
O bot enviará uma mensagem direta (DM) para o usuário solicitando o nome de usuário e a senha. O usuário deve responder na DM no formato:
<username> <password>
-
Para fazer login e acessar um módulo específico, use o comando
!login
no canal de autenticação:!login <username> <password> <module>
-
Para gerar um relatório de engajamento, use o comando
!report
no canal de relatórios:!report
index.js
: Código principal do bot.package.json
: Arquivo de configuração do npm.users.json
: Arquivo de armazenamento de usuários.
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.