Este bot monitora canais e grupos no Telegram para detectar promoções e repassá-las automaticamente para um grupo ou contatos específicos no WhatsApp. Ele permite que usuários salvem palavras-chave de interesse e recebam somente as promoções relevantes.
- Usa a biblioteca gramjspara logar como usuário.
- Monitora mensagens de grupos/canais específicos.
- Suporta mensagens com texto e mídia (imagens).
- Baixa e salva imagens temporariamente.
- Usa a biblioteca @whiskeysockets/baileys.
- Conecta via QR Code com autenticação multi-device.
- Envia promoções automaticamente para:
- Grupo padrão.
- Contatos interessados, com base em palavras-chave.
 
- Comando /addpermite usuários cadastrarem suas palavras de interesse.
- Armazena palavras-chave por número de telefone no arquivo usuarios.json.
- Salva grupos onde o bot é adicionado no group.json.
📦 projeto
├── index.js               # Monitoramento do Telegram
├── zap.js                 # Integração com WhatsApp
├── usuarios.json          # Palavras-chave dos usuários
├── group.json             # Grupos onde o bot está
├── utils/
│   ├── salve.group.js     # Função para salvar grupos
│   ├── save.text.js       # Função para salvar palavras dos usuários
├── auth_info_baileys/     # Dados de autenticação do WhatsApp
├── session.json           # Sessão do Telegram
├── .env                   # Variáveis API_ID, API_HASH
└── temp/                  # Imagens temporárias das promoçõesnpm installCrie um arquivo .env com o seguinte conteúdo:
API_ID=your_telegram_api_id
API_HASH=your_telegram_api_hash
GROUP_DEFAULT=conexão com o zap ficar on vai aparecer os NOME + JIDS dos grupos e comunidade pegue apenas o jid exemplo : [email protected]node src/index.jsDurante o login no Telegram, informe seu número e o código de verificação.
Ao iniciar o bot (zap.js), escaneie o QR Code exibido no terminal para conectar ao WhatsApp.
Exemplo:
/add celular promoção desconto
O bot irá salvar essas palavras associadas ao seu número, e só enviará promoções que contenham alguma delas.
Para listar todos os grupos que o bot participa, você pode usar o seguinte código no seu script:
const gruposParticipando = await sock.groupFetchAllParticipating();
const grupos = Object.values(gruposParticipando);
grupos.forEach(g => console.log(`Nome: ${g.subject} | JID: ${g.id}`));- Node.js >= 16
- Conta do Telegram
- Conta ativa no WhatsApp
- As imagens são salvas em ./temp/e podem ser removidas automaticamente após o envio (usandofs.unlink).
- Os dados de autenticação do WhatsApp são armazenados em auth_info_baileys/.
- As palavras-chave dos usuários são salvas em usuarios.json.
Sinta-se à vontade para adaptar, melhorar ou contribuir com novas funcionalidades para o bot!