arabdullah commited on
Commit
2015653
·
verified ·
1 Parent(s): 0e6ae94

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +13 -6
index.js CHANGED
@@ -71,15 +71,17 @@ app.get('/checkState', async (req, res) => {
71
  }
72
  });
73
 
74
- // Serve QR code for login
75
  app.get('/qrCode', (req, res) => {
76
  const { apiKey } = req.query;
77
 
78
  if (apiKey) {
79
- const qrData = `https://example.com/login?apiKey=${apiKey}`; // Replace with your actual URL
80
- const qrImage = qr.imageSync(qrData, { type: 'svg' });
81
- res.setHeader('Content-Type', 'image/svg+xml');
82
- res.send(qrImage);
 
 
 
83
  } else {
84
  res.status(400).send('API key is required');
85
  }
@@ -114,7 +116,7 @@ async function connectToWhatsApp(apiKey, ip) {
114
  });
115
 
116
  sock.ev.on('connection.update', (update) => {
117
- const { connection, lastDisconnect } = update;
118
  if (connection === 'close') {
119
  const shouldReconnect = (lastDisconnect.error instanceof Boom) ? lastDisconnect.error.output.statusCode !== DisconnectReason.loggedOut : true;
120
  console.log('Connection closed due to ', lastDisconnect.error, ', reconnecting ', shouldReconnect);
@@ -123,6 +125,10 @@ async function connectToWhatsApp(apiKey, ip) {
123
  }
124
  } else if (connection === 'open') {
125
  console.log('Opened connection');
 
 
 
 
126
  }
127
  });
128
 
@@ -137,6 +143,7 @@ async function connectToWhatsApp(apiKey, ip) {
137
  fs.writeFileSync(sessionFile, JSON.stringify({ apiKey, ip, session: sock.state }, null, 2));
138
  }
139
 
 
140
  const PORT = 7860;
141
  app.listen(PORT, () => {
142
  console.log(`Server is running on port ${PORT}`);
 
71
  }
72
  });
73
 
 
74
  app.get('/qrCode', (req, res) => {
75
  const { apiKey } = req.query;
76
 
77
  if (apiKey) {
78
+ const qrFile = path.join(sessionDir, `${apiKey}_qr.svg`);
79
+
80
+ if (fs.existsSync(qrFile)) {
81
+ res.sendFile(qrFile);
82
+ } else {
83
+ res.status(404).send('QR code not found');
84
+ }
85
  } else {
86
  res.status(400).send('API key is required');
87
  }
 
116
  });
117
 
118
  sock.ev.on('connection.update', (update) => {
119
+ const { connection, lastDisconnect, qr } = update;
120
  if (connection === 'close') {
121
  const shouldReconnect = (lastDisconnect.error instanceof Boom) ? lastDisconnect.error.output.statusCode !== DisconnectReason.loggedOut : true;
122
  console.log('Connection closed due to ', lastDisconnect.error, ', reconnecting ', shouldReconnect);
 
125
  }
126
  } else if (connection === 'open') {
127
  console.log('Opened connection');
128
+ } else if (qr) {
129
+ // Send QR code to client
130
+ const qrImage = qr.imageSync(qr, { type: 'svg' });
131
+ fs.writeFileSync(path.join(sessionDir, `${apiKey}_qr.svg`), qrImage);
132
  }
133
  });
134
 
 
143
  fs.writeFileSync(sessionFile, JSON.stringify({ apiKey, ip, session: sock.state }, null, 2));
144
  }
145
 
146
+
147
  const PORT = 7860;
148
  app.listen(PORT, () => {
149
  console.log(`Server is running on port ${PORT}`);