Lodaa / index.js
understanding's picture
Create index.js
83e4559 verified
raw
history blame
1.58 kB
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);