Spaces:
Building
Building
Create index.js
Browse files
index.js
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { makeWASocket, useMultiFileAuthState, DisconnectReason } from 'baileys';
|
2 |
+
|
3 |
+
async function connectToWhatsApp(handleMessage) {
|
4 |
+
const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys');
|
5 |
+
const sock = makeWASocket({ auth: state, printQRInTerminal: false });
|
6 |
+
|
7 |
+
sock.ev.on('connection.update', async (update) => {
|
8 |
+
const { connection, lastDisconnect } = update;
|
9 |
+
if (connection === 'close') {
|
10 |
+
const shouldReconnect = lastDisconnect?.error?.output?.statusCode !== DisconnectReason.loggedOut;
|
11 |
+
if (shouldReconnect) connectToWhatsApp(handleMessage);
|
12 |
+
} else if (connection === 'open') {
|
13 |
+
console.log('WhatsApp connected!');
|
14 |
+
}
|
15 |
+
});
|
16 |
+
|
17 |
+
setTimeout(async () => {
|
18 |
+
if (!state.creds.registered) {
|
19 |
+
try {
|
20 |
+
const number = '919709859065'; // Predefined WhatsApp number
|
21 |
+
console.log(`π Requesting a pairing code for ${number}`);
|
22 |
+
const code = await sock.requestPairingCode(number);
|
23 |
+
console.log(`π Pairing Code: ${code}`);
|
24 |
+
} catch (error) {
|
25 |
+
console.error('Error:', error);
|
26 |
+
}
|
27 |
+
}
|
28 |
+
}, 5000);
|
29 |
+
|
30 |
+
sock.ev.on('messages.upsert', async (msg) => handleMessage(msg, sock));
|
31 |
+
sock.ev.on('creds.update', saveCreds);
|
32 |
+
|
33 |
+
return sock;
|
34 |
+
}
|
35 |
+
|
36 |
+
// Example message handler
|
37 |
+
async function handleMessage(msg, sock) {
|
38 |
+
console.log('Received message:', msg.messages);
|
39 |
+
}
|
40 |
+
|
41 |
+
connectToWhatsApp(handleMessage)
|
42 |
+
.then(() => console.log('Bot is running...'))
|
43 |
+
.catch(console.error);
|