Developer Library

Bot Code Hub

Professional, production-ready Baileys code snippets. From modern pairing code authentication to advanced command handlers.

pairing.js

Info:Modern 8-digit pairing code method using awesomephonenumber to validate the user input.

const { default: makeWASocket, useMultiFileAuthState } = require('@whiskeysockets/baileys');
const pino = require('pino');
const parsePhoneNumber = require('awesome-phonenumber');

async function connectToWhatsApp() {
    const { state, saveCreds } = await useMultiFileAuthState('auth_session');
    
    const sock = makeWASocket({
        auth: state,
        printQRInTerminal: false,
        logger: pino({ level: "silent" }),
        browser: ['Mac OS', 'chrome', '121.0.6167.159']
    });

    if (!sock.authState.creds.registered) {
        // Replace with the user's phone number
        let phoneNumber = "923232391033"; 
        
        // Validate with awesome-phonenumber
        const pn = new parsePhoneNumber('+' + phoneNumber);
        if(!pn.isValid()) {
             console.log("Invalid Phone Number");
             return;
        }
        
        setTimeout(async () => {
            let code = await sock.requestPairingCode(pn.getNumber('e164').replace('+', ''));
            // Format code visually (e.g. 1234-5678)
            code = code?.match(/.{1,4}/g)?.join("-") || code;
            console.log(`YOUR PAIRING CODE: ${code}`);
        }, 3000);
    }

    sock.ev.on('creds.update', saveCreds);
}
connectToWhatsApp();