Skip to content

feat: whatsapp collector#1

Open
Clintonrocha98 wants to merge 13 commits into
mainfrom
feat/whatsapp-collector
Open

feat: whatsapp collector#1
Clintonrocha98 wants to merge 13 commits into
mainfrom
feat/whatsapp-collector

Conversation

@Clintonrocha98
Copy link
Copy Markdown
Member

@Clintonrocha98 Clintonrocha98 commented May 21, 2026

📊 Artefato visual do PR — tópicos e o porquê das decisões


🤖 O que é isso?

Este PR adiciona um bot que fica conectado ao WhatsApp e acompanha o que acontece nos grupos da comunidade — mensagens, reações, pessoas entrando e saindo, informações do grupo — e envia tudo para a plataforma (o sistema em Laravel), que decide o que guardar e como usar (relatórios, estatísticas, etc.).

Pense nele como um observador: ele não responde nem interage, só escuta e repassa o que acontece nos grupos.

🔁 Como funciona, em poucas palavras

   WhatsApp  ──►  🤖 Bot (este projeto)  ──►  🗄️ Plataforma (Laravel)
   (grupos)        escuta e repassa            guarda e analisa

🧭 Princípios que guiaram as decisões

  • Só grupos: conversas privadas (DM) são ignoradas — coletamos apenas atividade de grupo.
  • Dado cru ("data lake"): o bot manda o acontecimento como ele é; quem decide o que guardar é a plataforma. Isso mantém o bot simples e dá liberdade pra plataforma evoluir.
  • Entrega confiável: cada acontecimento vira um "evento" que é enviado com segurança (assinado) e com reenvio automático se a internet cair — sem perder nem duplicar nada.

📦 O que este PR entrega

Tópico Para quem usa, na prática
Conexão e coleta O bot conecta no WhatsApp e passa a repassar tudo dos grupos pra plataforma
QR fácil de escanear O QR code de login agora aparece legível mesmo em terminais de fundo escuro
Tela mais limpa Mensagens internas do sistema (ruído) não poluem mais a tela do terminal
Informações do grupo Nome, descrição, membros e admins do grupo passam a ser enviados (antes faltava)
Sem duplicatas Cada evento tem uma identidade única compatível com o banco da plataforma
Menos ruído Recibos de "lido/entregue" não inundam mais o sistema
Pronto pra produção Limpeza automática de logs (pra não lotar o disco) e configuração simples por arquivo

⚙️ Como rodar

  1. Copie .env.example para .env e preencha o endereço da plataforma e o segredo compartilhado.
  2. pnpm install e pnpm dev.
  3. Escaneie o QR code com o WhatsApp (Aparelhos conectados).

Detalhes técnicos e o "porquê" de cada decisão estão no artefato visual linkado no topo.

@Clintonrocha98 Clintonrocha98 marked this pull request as ready for review May 21, 2026 14:26
Copy link
Copy Markdown
Contributor

@danielhe4rt danielhe4rt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O bot em si não deveria parsear nenhum tipo de mensagem. Apenas enviar o conteúdo pra próxima endpoint e o back-end em PHP/Laravel vai tratar e entender o quê fazer com o dado bruto.

Comment thread .env.example
# Apaga logs/<evento>/<dia>.json além de N dias. 0 = mantém tudo (comportamento antigo).
LOG_RETENTION_DAYS=14

# Poda logs/message-store/ (1 arquivo/mensagem) além de N dias. 0 = mantém tudo.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mantem

Comment thread .env.example
Comment on lines +18 to +23
# ── Opcionais ──
# Override da URL do WebSocket do WhatsApp. Vazio = padrão do Baileys.
SOCKET_URL=

# Chave secreta avançada de credenciais (advSecretKey). Vazio se não usar.
ADV_SECRET_KEY=
Copy link
Copy Markdown
Contributor

@danielhe4rt danielhe4rt May 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remover

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants