-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
153 lines (123 loc) · 5.57 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
import { create } from 'venom-bot';
import fs from 'fs';
function wait(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
let minhaVariavel; // Definindo a variável fora da função
fs.readFile('Q:/TI/Vilesley/bot-whatsapp/data.txt', 'utf8', function(err, data) {
if (err) {
console.error('Erro ao ler o arquivo:', err);
return;
}
minhaVariavel = data; // Atribuindo o valor à variável
console.log(minhaVariavel);
});
async function startSession1(client) {
//-------------------------------NUMEROS DE TELEFONE-------------------------------
const contatosTxt = fs.readFileSync('./consulta/txt2.txt', 'utf8'); //lendo txt
let linhasNum = contatosTxt.split('\n'); //separando por espaco
let numerosEsquerdaBarra = []; //iniciando vetor de numeros na esquerda da / no txt
let linhasPdf = contatosTxt.split('\n'); //separando por espaco
let vetorLinhadigitavel = []; //iniciando vetor de numeros na direita da / no txt
let linhasNome = contatosTxt.split('\n');
let vetorNomes = [];
let linhasValor = contatosTxt.split('\n');
let vetorValores = [];
let linhasValorTotal = contatosTxt.split('\n');
let vetorValoresTotal = [];
let linhasCpf = contatosTxt.split('\n');
let vetorCpf = [];
let linhasContrato = contatosTxt.split('\n');
let vetorContrato = [];
let linhasProduto = contatosTxt.split('\n');
let vetorProduto = [];
for (let i = 0; i < linhasNum.length; i++) {
// preenchendo vetor de numeros EX: ['5531989293584', '5531983375591']
let linha = linhasNum[i];
let numeros = linha.split(',')[0];
numerosEsquerdaBarra.push(numeros);
let linhaProduto = linhasProduto[i];
let numerosProduto = linhaProduto.split(',')[8];
vetorProduto.push(numerosProduto);
let linhaContrato = linhasContrato[i];
let numerosContrato = linhaContrato.split(',')[6];
vetorContrato.push(numerosContrato);
let linhaCpf = linhasCpf[i];
let numerosCpf = linhaCpf.split(',')[5];
vetorCpf.push(numerosCpf);
let linhaValorTotal = linhasValorTotal[i];
let numerosValorTotal = linhaValorTotal.split(',')[2];
vetorValoresTotal.push(numerosValorTotal);
let linhaValor = linhasValor[i];
let numerosValor = linhaValor.split(',')[3];
vetorValores.push(numerosValor);
let linhaNome = linhasNome[i];
let numerosNome = linhaNome.split(',')[1];
vetorNomes.push(numerosNome);
let linhaPdf = linhasPdf[i];
let numerosPdf = linhaPdf.split(',')[4];
vetorLinhadigitavel.push(numerosPdf);
}
const listaContatos = numerosEsquerdaBarra.map(num => `${num}@c.us`); //concatenando @c.us no fim de cada numero
//------------------------------------/FIM/--------------------------------
let indice = 0; //inicializando contador que percorre a lista
for (const contato of listaContatos) {
const dado = vetorLinhadigitavel[indice]; //pegando da lista da direita na posicao n que vai ser incrementada no final
const nome = vetorNomes[indice];
const valor = vetorValores[indice];
const valorTotal = vetorValoresTotal[indice];
//const dataVenc = vetorCpf[indice];////////////
const cpf = vetorCpf[indice];
const contrato = vetorContrato[indice];
const produto = vetorProduto[indice];
const mensagem = `*${nome} - CPF* ${cpf}\nSegue abaixo os dados do seu boleto:\n*Produto/Linha:* ${produto}\n*Contrato:* ${contrato}\n*Valor original:* R$ ${valorTotal}\n*Valor à vista:* R$ ${valor}\n*Data de vencimento:* ${minhaVariavel}\n\nSegue abaixo a linha digitável do boleto:`;
const mensagem2 = `${dado}`;
try {
//await wait(Math.random() * 60000 + 60000); // Timer aleatório de 10 a 30 segundos (Math.random() * 20000 + 10000), (Math.random() * 30000 + 30000) 30 a 60 / (Math.random() * 5000)
const result = await client.sendText(contato, mensagem);
console.log('Result: ', result);
const result2 = await client.sendText(contato, mensagem2);
console.log('Result 2: ', result2); //return object success
//const resultString = JSON.stringify(result) + '\n';
const currentDate = new Date().toLocaleString();
const resultString = `${currentDate}: ${JSON.stringify(result)}\n`;
fs.appendFile('./txts/contador.txt', resultString, (err) => {
if (err) {
console.error('Erro ao gravar o arquivo:', err);
} else {
console.log('Arquivo gravado com sucesso!');
}
});
} catch (error) {
console.error('Error when sending: ', error);
}
//removeLineFromFile('./consulta/txt2.txt',{indice})
console.log('Mensagens Enviadas: ', indice)
indice++; //incrementando a posicao n da lista
// const conteudo = indice.toString();
// fs.writeFile('./txts/contador.txt', conteudo, 'utf8', (error) => {
// if (error) {
// console.error('Ocorreu um erro ao gravar o arquivo:', error);
// return;
// }
// console.log('Arquivo gravado com sucesso!');
// });
}
}
function startProcess() {
create({
session: 'session1' ,
multidevice: true,
headless: false,
})
.then(async (client1) => {
await startSession1(client1);
await client1.close();
process.exit(0);
})
.catch((error) => {
console.error(error);
process.exit(1);
});
}
startProcess()