-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.js
88 lines (79 loc) · 2.5 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
// Supports ES6
// import { create, Whatsapp } from 'sulla';
const bot = require("venom-bot");
const banco = require("./src/banco");
const stages = require("./src/stages");
const fs = require('fs');
function startSession(req,res){
const Session= req.params.session;
//função exportando o QRCOD PARA
function exportQR(qrCode,path){
qrCode = qrCode.replace('data:image/png;base64,', '');
const imageBuffer = Buffer.from(qrCode, 'base64');
// Cria o arquivo 'qrcode.png'
fs.writeFileSync(path, imageBuffer);
}
bot
.create(`${Session}`,(base64Qr, asciiQR)=>{
//criando png do QRCODE
exportQR(base64Qr, 'qrcode.png');
}, (statusSession, session) => {
console.log('Status Session: ', statusSession); //return isLogged || notLogged || browserClose || qrReadSuccess || qrReadFail || autocloseCalled || desconnectedMobile || deleteToken
//Create session wss return "serverClose" case server for close
console.log('Session name: ', session);
},
{
headless: true,
// devtools: false,
useChrome: false,
debug: false,
// logQR: false,
refreshQR: 15000,
autoClose: 60 * 60 * 24 * 365,
disableSpins: true
}
)
.then((client) => start(client)).catch((erro)=>{console.log("erro",erro)});
function start(client) {
// console.log("CLiente aqui",client)
if(client==undefined || client==""){
console.log("Branco: ")
}
client.onMessage((message) => {
// console.log("Verificando aqui variavel message.body: ",message.body);
// console.log("Verificando aqui variavel message.from: ",message.from);
//console.log("Verificando aqui variavel message.sender.name: ",message.sender.name)
if (message.from.split("@")[1] != "g.us") {
let resp = stages.step[getStage(message.from)].obj.execute(
message.from,
message.body,
message.sender.name
);
for (let index = 0; index < resp.length; index++) {
const element = resp[index];
// console.log("Parte do for: ", element)
client.sendText(message.from, element);
}
} else {
console.log("Menssagem de grupo ");
}
});
}
// exports.start= start;
function getStage(user) {
if (banco.db[user]) {
//Se existir esse numero no banco de dados
return banco.db[user].stage;
} else {
//Se for a primeira vez que entra e contato
// console.log("Teste")
banco.db[user] = {
stage: 0,
itens: [],
};
// console.log("OLha aqui: ",banco.db[user].stage);
return banco.db[user].stage;
}
}
}
exports.startSession = startSession;