Spaces:
Paused
Paused
| // index.js | |
| import { makeWASocket, useMultiFileAuthState, DisconnectReason } from 'baileys'; | |
| import { handleMessage } from './bot/autoreply.js'; | |
| async function connectToWhatsApp() { | |
| const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys'); | |
| const sock = makeWASocket({ auth: state, printQRInTerminal: false }); | |
| // Connection updates | |
| 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(); | |
| } else if (connection === 'open') { | |
| console.log('WhatsApp connected!'); | |
| } | |
| }); | |
| // Request pairing code if not registered | |
| setTimeout(async () => { | |
| if (!state.creds?.registered) { | |
| try { | |
| const number = '916234859346'; // Your WhatsApp number | |
| console.log(`π Requesting pairing code for ${number}`); | |
| const code = await sock.requestPairingCode(number); | |
| console.log(`π Pairing Code: ${code}`); | |
| console.log('1. Go to WhatsApp on your phone: Settings > Linked Devices > Add Device'); | |
| console.log('2. Enter the code above into the app to pair.'); | |
| } catch (error) { | |
| console.error('Error requesting pairing code:', error); | |
| } | |
| } | |
| }, 5000); | |
| // Handle incoming messages | |
| sock.ev.on('messages.upsert', (event) => handleMessage(event, sock)); | |
| sock.ev.on('creds.update', saveCreds); | |
| return sock; | |
| } | |
| connectToWhatsApp() | |
| .then(() => console.log('Bot is running...')) | |
| .catch(console.error); |