-
Notifications
You must be signed in to change notification settings - Fork 7
/
app.js
102 lines (89 loc) · 2.68 KB
/
app.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
const { Client, LocalAuth } = require('whatsapp-web.js');
const express = require('express');
const { body, validationResult } = require('express-validator');
const http = require('http');
const port = process.env.PORT || 8000;
const app = express();
const server = http.createServer(app);
app.use(express.json());
app.use(express.urlencoded({
extended: true
}));
const client = new Client({
authStrategy: new LocalAuth(),
puppeteer: { headless: false }
});
client.initialize();
client.on('qr', (qr) => {
console.log('zapdasgalaxias.com.br BOT-ZDG QRCode recebido', qr);
});
client.on('authenticated', () => {
console.log('zapdasgalaxias.com.br BOT-ZDG Autenticado');
});
client.on('auth_failure', msg => {
console.error('zapdasgalaxias.com.br BOT-ZDG Falha na autenticação', msg);
});
client.on('ready', () => {
console.log('zapdasgalaxias.com.br BOT-ZDG Dispositivo pronto');
});
client.on('change_state', state => {
console.log('zapdasgalaxias.com.br BOT-ZDG Status de conexão: ', state );
});
client.on('disconnected', (reason) => {
console.log('zapdasgalaxias.com.br BOT-ZDG Cliente desconectado', reason);
});
app.post('/send-message', [
body('number').notEmpty(),
body('message').notEmpty(),
], async (req, res) => {
const errors = validationResult(req).formatWith(({
msg
}) => {
return msg;
});
if (!errors.isEmpty()) {
return res.status(422).json({
status: false,
message: errors.mapped()
});
}
const number = req.body.number;
const numberDDD = number.substr(0, 2);
const numberUser = number.substr(-8, 8);
const message = req.body.message;
if (numberDDD <= 30) {
const numberZDG = "55" + numberDDD + "9" + numberUser + "@c.us";
client.sendMessage(numberZDG, message).then(response => {
res.status(200).json({
status: true,
message: 'BOT-ZDG Mensagem enviada',
response: response
});
}).catch(err => {
res.status(500).json({
status: false,
message: 'BOT-ZDG Mensagem não enviada',
response: err.text
});
});
}
else if (numberDDD > 30) {
const numberZDG = "55" + numberDDD + numberUser + "@c.us";
client.sendMessage(numberZDG, message).then(response => {
res.status(200).json({
status: true,
message: 'BOT-ZDG Mensagem enviada',
response: response
});
}).catch(err => {
res.status(500).json({
status: false,
message: 'BOT-ZDG Mensagem não enviada',
response: err.text
});
});
}
});
server.listen(port, function() {
console.log('Aplicação ZDG rodando na porta *: ' + port);
});