Repository navigation
Expand file tree
/
Copy pathapi.js
More file actions
66 lines (56 loc) · 1.78 KB
/
Copy pathapi.js
File metadata and controls
66 lines (56 loc) · 1.78 KB
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
const express = require("express");
const bodyParser = require("body-parser");
const fs = require('fs');
const axios = require('axios')
const config = require('./config.json');
const { Client } = require('whatsapp-web.js');
const SESSION_FILE_PATH = './session.json';
let sessionCfg;
if (fs.existsSync(SESSION_FILE_PATH)) {
sessionCfg = require(SESSION_FILE_PATH);
}
global.client = new Client({ puppeteer: { headless: true , args:['--no-sandbox','--disable-setuid-sandbox','--unhandled-rejections=strict'] }, session: sessionCfg});
const app = express();
const port = process.env.PORT || config.port;
app.use(express.json());
app.use(bodyParser.urlencoded({ extended: true }));
client.on('qr', qr => {
fs.writeFileSync('./components/last.qr',qr);
});
client.on('authenticated', (session) => {
console.log("AUTH!");
sessionCfg = session;
fs.writeFile(SESSION_FILE_PATH, JSON.stringify(session), function(err) {
if (err) {
console.error(err);
}
authed=true;
});
try{
fs.unlinkSync('./components/last.qr')
}catch(err){}
});
client.on('ready', () => {
console.log('Client is ready!');
});
client.on('message', msg => {
if(config.webhook.enabled){
axios.post(config.webhook.path, {msg : msg})
}
})
client.initialize();
const chatRoute = require('./components/chatting');
const groupRoute = require('./components/group');
const authRoute = require('./components/auth');
const contactRoute = require('./components/contact');
app.use(function(req,res,next){
console.log(req.method + ' : ' + req.path);
next();
});
app.use('/chat',chatRoute);
app.use('/group',groupRoute);
app.use('/auth',authRoute);
app.use('/contact',contactRoute);
app.listen(port, () => {
console.log("Server Running Live on Port : " + port);
});