Estou enfretando um problema com a minha automação que é a seguinte, basicamente o código que eu escrevi ele tem que detectar o que um determinado número enviou e se tiver alguma palavra chave dentro do que ele enviou o meu whatsapp vai enviar um "." de forma instantânea, basicamente o problema se encontra quando a mensagem é enviada dentro de um grupo no WhatsApp, pois não detecta o número do cliente e sim um código e não estou conseguindo resolver, alguém poderia me ajudar, vou disponibilizar o código para que algum de vocês consiga me dar o caminho da luz e assim eu consiga rodar o código de forma correta e sem problemas.
const { Client, LocalAuth } = require('whatsapp-web.js');
const qrcode = require('qrcode-terminal');
const client = new Client({
authStrategy: new LocalAuth(),
});
// Mostra QR Code no terminal para conectar o WhatsApp
client.on('qr', (qr) => {
qrcode.generate(qr, { small: true });
console.log(' Escaneie o QR Code acima com seu WhatsApp!');
});
client.on('ready', () => {
console.log(' Bot conectado e pronto!');
});
// Palavras-chave que ativam o bot
const palavrasChave = [
'formulário',
'plataforma ak',
'usuário',
'identificação',
'insta',
'meta',
'salário',
'média 40+',
'equipe',
'início',
'fim'
];
// Número do usuário alvo (completo)
const numeroAlvo = '+553291992608';
const ultimosDigitosAlvo = numeroAlvo.slice(-8); // últimos 8 dígitos para comparação
client.on('message', async (msg) => {
const texto = msg.body.toLowerCase();
// Detecta número do remetente
let numeroRemetente = null;
if (msg.from.endsWith('@g.us')) {
// Mensagem veio de grupo
if (msg.author) {
numeroRemetente = msg.author.replace(/\D/g, '');
}
} else {
// Mensagem privada
numeroRemetente = msg.from.replace(/\D/g, '');
}
console.log(' Mensagem recebida:', texto);
console.log(' Número detectado:', numeroRemetente);
// Verifica se o número do remetente corresponde ao usuário alvo (últimos 8 dígitos)
if (numeroRemetente && numeroRemetente.slice(-8) === ultimosDigitosAlvo) {
// Verifica se contém alguma palavra-chave
if (palavrasChave.some(p => texto.includes(p))) {
console.log(' Palavra-chave detectada do usuário alvo!');
try {
await client.sendMessage(msg.from, '.'); // envia o ponto
console.log(' Ponto enviado com sucesso!');
} catch (erro) {
console.error(' Erro ao enviar mensagem:', erro);
}
}
}
});
client.initialize();