Spaces:
Paused
Paused
Update index.js
Browse files
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
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
|
|
|
|
|
|
|
|
|
| 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}`);
|