Nosso Maturador Martelete foi reconstruido e a nova versão agora é Portátil, todas as modificações e atualizações será relatadas aqui.
Versão:1.2.3 Correções
Foi corrijido problema de disparos de muitas mensagens da mesma conta, agora tem a seleção de assuntos para conversas, tambem quantidades de dispositivos conectados 1 para1 e um para muitos 1 – N automatico
Versão:1.1.2
Martelete — Descrição do Produto e Documentação Autor: Botusist
- Visão Geral
- O Martelete é um aplicativo desktop para Windows focado em “maturação” de contas WhatsApp.
- Permite gerenciar múltiplas contas e gerar conversas automáticas entre elas, com mensagens mais naturais, variados temas e uso eventual de emojis para simular interação humana.
- Inclui controle de tempos (delays), encerramento automático de conversas, e licenciamento via servidor.
- Principais Funcionalidades
- Gerenciamento de contas: adicionar, conectar, desconectar e excluir contas.
- Conversas automáticas: pareamento de contas ativas e envio de mensagens temáticas com variabilidade e emojis.
- Configuração de tempos: intervalos mínimos/máximos entre mensagens e tempo de encerramento de conversa.
- Licenciamento online: ativação/verificação via API do servidor de licenças.
- Exportação/Importação de licença: facilita migração e backup da ativação.
- Arquitetura do Sistema
- Plataforma: Electron (Node.js + Chromium) para app desktop Windows.
- Backend local (main process):
- Controla janelas, IPC, persistência local e orquestração do WhatsApp (whatsapp-web.js).
- Arquivo principal:
electron-main.js.
- Renderer (UI):
- HTML/JS simples, leve e eficiente. Arquivos em
src/renderer/
. - UI principal em
src/renderer/index.html e lógica em
src/renderer/renderer.js.
- HTML/JS simples, leve e eficiente. Arquivos em
- Preload e IPC:
-
src/preload.js expõe APIs seguras para o renderer: contas, engine, settings, licença, status do WhatsApp.
-
- Engine de conversas:
- Classe
ConversationEngine em
src/conversationEngine.js.
- Usa
src/texts.js para gerar mensagens variadas (temas + emojis).
- Classe
- WhatsApp:
- Gerenciado por
src/whatsappManager.js usando
whatsapp-web.js
. - Mantém sessões e status (ready/qr/stopped).
- Gerenciado por
- Dados:
- Banco local SQLite através de
src/db.js
(contas, conversas, mensagens, settings).
- Banco local SQLite através de
- Licenciamento:
- Implementado em
src/license/api.js (comunicação HTTP com servidor de licenças).
- Persistência do token
.
nouserData
do app e metadados.meta.json
com expiração.
- Implementado em
- Persistência adicional:
electron-store
para configurações simples (settings
).
- Stack Tecnológica
- Runtime: Node.js (processos main e preload), Chromium (renderer via Electron).
- Electron: ^30.5.1 (dev).
- Bibliotecas principais:
whatsapp-web.js
(integração com WhatsApp Web).better-sqlite3
(SQLite nativo, alto desempenho).electron-store
(configurações).express
(pode servir endpoints locais, se habilitado).
- Build/Empacotamento:
electron-builder
(ZIP portátil).- Configuração em
package.json >
build
.
- Componentes por Arquivo (referência breve)
-
electron-main.js: cria janela, gerencia IPC (contas, engine, settings, licença), integra a API de licença e exporta/importa licença.
-
src/preload.js: expõe
window.api
para o renderer (accounts, wa, settings, engine, license). -
src/renderer/index.html e
src/renderer/renderer.js: UI (Contas, Configurações, Log, Licença).
-
src/conversationEngine.js: engine que pareia contas e agenda mensagens com delays aleatórios.
-
src/texts.js: geração de mensagens com temas (tecnologia, comida, clima, esportes, filmes, música, trabalho, estudos, cotidiano) e emojis ocasionais.
-
src/whatsappManager.js: gerencia status/QR/clients do WhatsApp; inicia/para sessões.
src/db.js
: acesso a SQLite (contas, conversas, mensagens, configurações).-
src/license/api.js: ativa, verifica, desativa licença no servidor; grava
.
e.meta.json
(expiração local de 1 ano como padrão). src/license/*
: utilitários e legados de licença local; uso principal migrou paraapi.js.
- Fluxo de Licenciamento
- Domínio fixo (LB-URL):.
- Ativação:
- UI coleta “Nome do cliente” e “Chave de Ativação”.
- Envia para Servidor de licenças com cabeçalhos (LB-API-KEY, LB-URL, LB-IP, LB-LANG).
- Recebe
lic_response
e grava.
+.meta.json
(expiração local padrão: 1 ano).
- Verificação:
- Envia
.
paraverify_license
. - Se o servidor não informar expiração, a UI exibe a expiração local (de
.meta.json
).
- Envia
- Exportar/Importar:
- Exporta
.
para TXT e permite importação.
- Exporta
- Build e Distribuição (ZIP portátil)
- Comandos de build (sugerido em PowerShell Windows):
- Evitar assinatura e Chromium (variáveis de ambiente).
- Gerar
dist/win-unpacked
e compactar com compressão máxima.
- Artefatos para cliente:
dist/Martelete-<versão>-win.zip
dist/Martelete-<versão>-win.zip.sha256
(formato: “ ”).
- O ZIP contém:
Martelete.exe
: executável portátil (não requer instalação).- Pastas/recursos do runtime Electron e do app.
- Requisitos do Sistema
- Windows 10/11 64-bit.
- Acesso a rede para:
- Carregar WhatsApp Web no navegador padrão (Chrome/Edge).
- Contatar o servidor de licenças ().
- Permissão de leitura/escrita na pasta do usuário para dados de sessão/licença.
- Como Usar (Cliente)
- Descompacte o ZIP (sugestão: área “Documentos” ou “Área de Trabalho”) e execute
Martelete.exe
. - Na aba “Licença”:
- Informe “Nome do cliente” e “Chave de Ativação”.
- Clique “Ativar”, depois “Verificar licença”.
- A UI deve mostrar “Licença ativa — Expira: DD/MM/AAAA”.
- Cadastre contas na seção “Contas” (nome/rotulo/telefone).
- Clique “Conectar” para abrir a janela/aba do WhatsApp e escanear o QR (se necessário).
- Ajuste “Configurações” (intervalos de mensagens e tempo de encerramento).
- Clique “Iniciar Engine” para iniciar conversas automáticas entre contas ativas.
- Suporte
- WhatsApp: +55 14 99152-8027
- Tickets: https://botusist.com.br/suporte
- Informe versão do app (ex.: 1.1.2) e anexe prints/logs da tela “Log” se possível.
- Segurança e Privacidade
- O app mantém sessões locais de WhatsApp. Recomenda-se proteger a estação de trabalho e o diretório do app.
- Licenças são validadas com o servidor; o arquivo
.
é salvo no diretório de dados do app (userData). - Nenhum conteúdo de conversa é enviado ao servidor de licenças.
- Solução de Problemas
- QR do WhatsApp não abre:
- Verifique navegador padrão (Chrome/Edge) e permissões do Windows/antivírus.
- Se precisar, fechar o app e reabrir.
- “Falha de comunicação com servidor de licenças”:
- Verificar conexão com
Internet
. - Conferir firewall/antivírus e tentar novamente.
- Verificar conexão com
- “Licença inválida” após ativar:
- Garanta que o domínio está autorizado no servidor.
- Clique “Ativar” novamente (mesmo nome e chave) e “Verificar licença”.
- Roadmap (Ideias Futuras)
- Melhorias no empacotamento e reinstalação do ícone assinado (quando viável).
- Logs ampliados do WhatsApp no renderer para diagnóstico.
- Ajustes finos de comportamento da engine (horários mais humanos; respostas reativas).
- Modo com Chromium bundlado (opcional; aumenta ZIP).
- Versão Atual
- 1.1.2
- Destaques:
- Licenciamento via servidor com domínio fixo.
- Expiração local de 1 ano mostrada na UI.
- Conversas com temas variados e emojis.
- Build portátil otimizado (ZIP reduzido).