main.js http://localhost:41743/21eed8d7-3a8e-4783-b38e-31a...
main.js
1 const { Client, LocalAuth } = require("whatsapp-web.js");
2 const qrcode = require("qrcode-terminal");
3 const locationDatabase = require("./locationDatabase");
4
5 // Configura o cliente para usar a autenticação local
6 const client = new Client({
7 authStrategy: new LocalAuth(),
8
9 // -- puppeteer máquina local //
10 puppeteer: {
11 executablePath:
12 "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
13 }
14 });
15
16 const states = {};
17
18 client.on("qr", qr => {
19 qrcode.generate(qr, { small: true });
20 });
21
22 client.on("ready", () => {
23 console.log("Client is ready!");
24 });
25
26 client.on("message", async (message) => {
27 const chatId = message.from;
28 const messageReceived = message.body.toUpperCase().trim();
29
30 // Se a mensagem for 'latlongbp', configuramos o estado para esperar pelo
código do site.
31 if (messageReceived === "LATLONGBP") {
32 states[chatId] = "esperando_codigo";
33 await message.reply("Olá! Informe o site desejado.");
34 return; // Interrompemos mais processamento nesta mensagem.
35 }
36
37 // Se estivermos esperando por um código...
38 if (states[chatId] === "esperando_codigo") {
39 if (locationDatabase[messageReceived]) {
40 // Se o código for encontrado na database, primeiro enviamos a
introdução...
41 await message.reply(`Coordenadas para o site ${messageReceived}:`);
42
43 // Em seguida, enviamos as coordenadas na mesma mensagem
44 const coords = locationDatabase[messageReceived];
45 await client.sendMessage(chatId, coords);
46 } else {
47 // Se um código inválido for recebido, informamos o usuário e resetamos o
estado.
48 await message.reply(
49 'Código localizador não encontrado na base de dados. Envie "latlongbp"
para tentar novamente.'
50 );
51 delete states[chatId]; // Reseta o estado para este chat
52 }
53 }
1 of 2 18/03/2024, 10:56
main.js http://localhost:41743/21eed8d7-3a8e-4783-b38e-31a...
54 });
55 (async () => {
56 // Inicializamos o cliente
57 await client.initialize();
58 })();
59
2 of 2 18/03/2024, 10:56