import { makeWASocket, useMultiFileAuthState, DisconnectReason } from 'baileys'; async function connectToWhatsApp(handleMessage) { const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys'); const sock = makeWASocket({ auth: state, printQRInTerminal: false }); sock.ev.on('connection.update', async (update) => { const { connection, lastDisconnect } = update; if (connection === 'close') { const shouldReconnect = lastDisconnect?.error?.output?.statusCode !== DisconnectReason.loggedOut; if (shouldReconnect) connectToWhatsApp(handleMessage); } else if (connection === 'open') { console.log('WhatsApp connected!'); } }); setTimeout(async () => { if (!state.creds.registered) { try { const number = '919709859065'; // Predefined WhatsApp number console.log(`🔄 Requesting a pairing code for ${number}`); const code = await sock.requestPairingCode(number); console.log(`👍 Pairing Code: ${code}`); } catch (error) { console.error('Error:', error); } } }, 5000); sock.ev.on('messages.upsert', async (msg) => handleMessage(msg, sock)); sock.ev.on('creds.update', saveCreds); return sock; } // Example message handler async function handleMessage(msg, sock) { console.log('Received message:', msg.messages); } connectToWhatsApp(handleMessage) .then(() => console.log('Bot is running...')) .catch(console.error);