{"_id":"@zanta/baileys","_rev":"2-1681a9f603ebd42452fe99a20b685116","name":"@zanta/baileys","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@zanta/baileys","version":"1.0.0","keywords":["whatsapp","zanta","baileys"],"author":{"name":"Zanta"},"license":"MIT","_id":"@zanta/baileys@1.0.0","maintainers":[{"name":"zanta","email":"nomsaraakash@gmail.com"}],"homepage":"https://github.com/Akashkavindu/ZANTA-BAILEYS","bugs":{"url":"https://github.com/Akashkavindu/ZANTA-BAILEYS/issues"},"dist":{"shasum":"3c1fa2b45813ead4d44c7316ba37ca88615ac8d0","tarball":"https://registry.npmjs.org/@zanta/baileys/-/baileys-1.0.0.tgz","fileCount":107,"integrity":"sha512-DTzV+ONf/XRkp3psg9WcFuo6Qm4mbHIYUfETBuMfOQdjKzblvyW5y1WbTk4xDduSprpUM+2sC6RTlcNWmuSGMA==","signatures":[{"sig":"MEUCIQC7KrjVCJ5u8Y0rE/85WV1v2P6lNHYd4NURzZnGe6Wm9wIgBCL6qL7vsbWaBH9l1jAS6L+IkeinD3Pn/ymxc6/OWqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6978056},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"_npmUser":{"name":"zanta","email":"nomsaraakash@gmail.com"},"repository":{"url":"git+ssh://git@github.com/Akashkavindu/ZANTA-BAILEYS.git"},"_npmVersion":"12.0.2","description":"A WebSockets library for interacting with WhatsApp Web","directories":{},"resolutions":{"tar":"^7.5.11","tmp":"^0.2.5","socks":"^2.8.8","flatted":"^3.4.2","basic-ftp":"^5.2.4","handlebars":"^4.7.9","ip-address":"^10.1.1","underscore":"^1.13.8","markdown-it":"^14.1.1","ajv@npm:^6.12.4":"^6.14.0","yaml@npm:^2.6.1":"^2.8.4","glob@npm:^10.2.2":"^10.5.0","glob@npm:^10.5.0":"^10.5.0","glob@npm:^10.3.10":"^10.5.0","js-yaml@npm:^4.1.0":"^4.1.1","js-yaml@npm:^3.13.1":"^3.14.2","minimatch@npm:^3.0.4":"^3.1.5","minimatch@npm:^3.1.2":"^3.1.5","minimatch@npm:^5.0.1":"^5.1.8","minimatch@npm:^9.0.4":"^9.0.9","minimatch@npm:^9.0.5":"^9.0.9","picomatch@npm:^2.0.4":"^2.3.2","picomatch@npm:^2.3.1":"^2.3.2","picomatch@npm:^4.0.0":"^4.0.4","picomatch@npm:^4.0.2":"^4.0.4","brace-expansion@npm:^1.1.7":"^1.1.13","brace-expansion@npm:^2.0.1":"^2.0.3"},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.13.0","pino":"^9.6","p-queue":"^9.0.0","libsignal":"^6.0.0","lru-cache":"^11.1.0","@hapi/boom":"^9.1.3","protobufjs":"^7.5.6","async-mutex":"^0.5.0","music-metadata":"^11.12.3","whatsapp-rust-bridge":"0.5.4","@cacheable/node-cache":"^1.4.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.2","devDependencies":{"tsx":"^4.20.3","jest":"^30.0.5","jimp":"^1.6.1","jiti":"^2.4.2","json":"^11.0.0","open":"^8.4.2","eslint":"^9","ts-jest":"^29.4.0","typedoc":"^0.27.9","prettier":"^3.5.3","@types/ws":"^8.0.0","lru-cache":"^11.1.0","@eslint/js":"^9.31.0","release-it":"^20.0.1","typescript":"^5.8.2","@types/jest":"^30.0.0","@types/node":"^20.9.0","pino-pretty":"^13.1.1","tsc-esm-fix":"^3.1.2","protobufjs-cli":"^1.1.3","link-preview-js":"^3.0.0","@eslint/eslintrc":"^3.3.1","esbuild-register":"^3.6.0","conventional-changelog":"^7.1.1","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.4.0","typedoc-plugin-markdown":"4.4.2","@typescript-eslint/parser":"^8","@whiskeysockets/eslint-config":"^1.0.0","conventional-changelog-angular":"^8.0.0","@typescript-eslint/eslint-plugin":"^8"},"peerDependencies":{"jimp":"^1.6.1","sharp":"*","audio-decode":"^2.1.3","link-preview-js":"^3.0.0"},"peerDependenciesMeta":{"jimp":{"optional":true},"audio-decode":{"optional":true},"link-preview-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/baileys_1.0.0_1789666893966_0.8154902745799422","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"_id":"@zanta/baileys@1.0.1","dist":{"shasum":"982d61136f20b6fe2361db5a787a0cddeacff798","tarball":"https://registry.npmjs.org/@zanta/baileys/-/baileys-1.0.1.tgz","fileCount":107,"integrity":"sha512-iKMo/jcaAMwRwo0oGAlme+Kv/WmQhSY8jRvj4wzShtSiTj2X0XoQsHpcpHILR1/O/GOW8WkC5E2B/c+DVLvezw==","signatures":[{"sig":"MEYCIQDb0of5mge3mikKfNcWGRceepgtyZvUGLuinhmEB/1hJAIhANP3zO+ia00x/mgMdRMUNPFA3WOeemhkbpWTPsF7RKbj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCG5psLbaPsR6Oy8dYhV2fzUSbSxycAUbqe8Q9pZk5eEQIhAMQNFErB4qK2igp54aLQYx0hDeq/dxzOTx4dvVKpVkV6"}],"unpackedSize":6989373},"main":"lib/index.js","name":"@zanta/baileys","type":"module","types":"lib/index.d.ts","author":{"name":"Zanta"},"engines":{"node":">=20.0.0"},"license":"MIT","version":"1.0.1","_npmUser":{"name":"zanta","email":"nomsaraakash@gmail.com"},"keywords":["whatsapp","zanta","baileys"],"_npmVersion":"12.0.2","description":"A WebSockets library for interacting with WhatsApp Web","directories":{},"maintainers":[{"name":"zanta","email":"nomsaraakash@gmail.com"}],"resolutions":{"tar":"^7.5.11","tmp":"^0.2.5","socks":"^2.8.8","flatted":"^3.4.2","basic-ftp":"^5.2.4","handlebars":"^4.7.9","ip-address":"^10.1.1","underscore":"^1.13.8","markdown-it":"^14.1.1","ajv@npm:^6.12.4":"^6.14.0","yaml@npm:^2.6.1":"^2.8.4","glob@npm:^10.2.2":"^10.5.0","glob@npm:^10.5.0":"^10.5.0","glob@npm:^10.3.10":"^10.5.0","js-yaml@npm:^4.1.0":"^4.1.1","js-yaml@npm:^3.13.1":"^3.14.2","minimatch@npm:^3.0.4":"^3.1.5","minimatch@npm:^3.1.2":"^3.1.5","minimatch@npm:^5.0.1":"^5.1.8","minimatch@npm:^9.0.4":"^9.0.9","minimatch@npm:^9.0.5":"^9.0.9","picomatch@npm:^2.0.4":"^2.3.2","picomatch@npm:^2.3.1":"^2.3.2","picomatch@npm:^4.0.0":"^4.0.4","picomatch@npm:^4.0.2":"^4.0.4","brace-expansion@npm:^1.1.7":"^1.1.13","brace-expansion@npm:^2.0.1":"^2.0.3"},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.13.0","pino":"^9.6","p-queue":"^9.0.0","libsignal":"^6.0.0","lru-cache":"^11.1.0","@hapi/boom":"^9.1.3","protobufjs":"^7.5.6","async-mutex":"^0.5.0","music-metadata":"^11.12.3","whatsapp-rust-bridge":"0.5.4","@cacheable/node-cache":"^1.4.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.9.2","devDependencies":{"tsx":"^4.20.3","jest":"^30.0.5","jimp":"^1.6.1","jiti":"^2.4.2","json":"^11.0.0","open":"^8.4.2","eslint":"^9","ts-jest":"^29.4.0","typedoc":"^0.27.9","prettier":"^3.5.3","@types/ws":"^8.0.0","lru-cache":"^11.1.0","@eslint/js":"^9.31.0","release-it":"^20.0.1","typescript":"^5.8.2","@types/jest":"^30.0.0","@types/node":"^20.9.0","pino-pretty":"^13.1.1","tsc-esm-fix":"^3.1.2","protobufjs-cli":"^1.1.3","link-preview-js":"^3.0.0","@eslint/eslintrc":"^3.3.1","esbuild-register":"^3.6.0","conventional-changelog":"^7.1.1","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.4.0","typedoc-plugin-markdown":"4.4.2","@typescript-eslint/parser":"^8","@whiskeysockets/eslint-config":"^1.0.0","conventional-changelog-angular":"^8.0.0","@typescript-eslint/eslint-plugin":"^8"},"peerDependencies":{"jimp":"^1.6.1","sharp":"*","audio-decode":"^2.1.3","link-preview-js":"^3.0.0"},"peerDependenciesMeta":{"jimp":{"optional":true},"audio-decode":{"optional":true},"link-preview-js":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/baileys_1.0.1_1789736322868_0.9586645691910629"}}},"time":{"created":"2026-09-17T17:41:33.761Z","modified":"2026-09-18T12:58:43.139Z","1.0.0":"2026-09-17T17:41:34.104Z","1.0.1":"2026-09-18T12:58:42.988Z"},"author":{"name":"Zanta"},"license":"MIT","keywords":["whatsapp","zanta","baileys"],"description":"A WebSockets library for interacting with WhatsApp Web","maintainers":[{"name":"zanta","email":"nomsaraakash@gmail.com"}],"readme":"<div align=\"center\">\n  <img src=\"https://github.com/user-attachments/assets/a55539bd-768a-4d89-a4cf-c22fff7315d1\" alt=\"ZANTA-BAILEYS\" height=\"300\" />\n  \n  <h1>ZANTA-BAILEYS</h1>\n  \n  <p>A <b>Professional</b>, <b>Highly Optimized</b> & <b>Clean</b> WebSocket-based JavaScript library for interacting with the WhatsApp Web API.</p>\n  \n  <p>\n    <a href=\"https://github.com/Akashkavindu/ZANTA-BAILEYS\"><img title=\"Blazing Fast\" src=\"https://img.shields.io/badge/Speed-Blazing%20Fast-orange?style=for-the-badge&logo=fastly\"></a>\n    <a href=\"https://github.com/Akashkavindu/ZANTA-BAILEYS\"><img title=\"Version\" src=\"https://img.shields.io/badge/Version-1.0.0-blue?style=for-the-badge\"></a>\n    <a href=\"https://github.com/Akashkavindu/ZANTA-BAILEYS/blob/main/LICENSE\"><img title=\"License\" src=\"https://img.shields.io/badge/License-MIT-green?style=for-the-badge\"></a>\n    <a href=\"https://github.com/Akashkavindu/ZANTA-BAILEYS\"><img title=\"Stars\" src=\"https://img.shields.io/github/stars/Akashkavindu/ZANTA-BAILEYS?style=for-the-badge&color=yellow\"></a>\n    <a href=\"https://github.com/Akashkavindu/ZANTA-BAILEYS\"><img title=\"Forks\" src=\"https://img.shields.io/github/forks/Akashkavindu/ZANTA-BAILEYS?style=for-the-badge&color=purple\"></a>\n    <a href=\"https://github.com/Akashkavindu/ZANTA-BAILEYS/issues\"><img title=\"Issues\" src=\"https://img.shields.io/github/issues/Akashkavindu/ZANTA-BAILEYS?style=for-the-badge&color=red\"></a>\n  </p>\n  \n  <p>\n    <a href=\"#-overview\">Overview</a> •\n    <a href=\"#-features\">Features</a> •\n    <a href=\"#-installation\">Installation</a> •\n    <a href=\"#-connecting\">Connect Bot</a> •\n    <a href=\"#-buttons\">Buttons</a> •\n    <a href=\"#-channel-media\">Channel Media</a> •\n    <a href=\"#-core-api\">Core API</a> •\n    <a href=\"#-support\">Support</a>\n  </p>\n</div>\n\n---\n\n## 🌟 Overview\n\n**ZANTA-BAILEYS** is a modified, **100% pure & clean custom fork** of Baileys. All hidden tracking endpoints, background data collection, and annoying developer auto-follow newsletter scripts have been completely stripped out to ensure maximum privacy, safety, and background performance for your automated bots.\n\nOptimized specifically to power the **ZANTA-MINI** WhatsApp bot framework.\n\n> [!NOTE]\n> This fork is **not** a rewrite — it's a drop-in replacement. All original Baileys APIs work exactly the same way.\n\n---\n\n## ⚡ Features\n\n<div align=\"center\">\n\n| Feature | Description | Status |\n|:---|:---|:---:|\n| 📦 **2GB Large File Streaming** | Seamless streaming & direct upload/download of large files up to **2GB** without exhausting server RAM | ✅ |\n| 🚀 **Deep Performance** | Lightweight structure optimized for **low-spec hosting** servers & automated business workflows | ✅ |\n| 🎨 **Interactive Buttons** | Full support for **buttons**, **list messages**, **template buttons** & interactive UI | ✅ |\n| 📢 **Channel Media Send** | Send images, videos, audio & documents directly to **WhatsApp Channels** | ✅ |\n| ⚡ **Fast Response** | Optimized message handling for **instant replies** with minimal latency | ✅ |\n| 📱 **Multi-Device** | Supports WhatsApp **Multi-Device** & Web versions | ✅ |\n| 🔐 **Signal Protocol** | End-to-end encryption via **libsignal** protocol | ✅ |\n| 🎭 **Custom Pairing** | Connect via **QR Code** or **Pairing Code** | ✅ |\n\n</div>\n\n---\n\n## 📦 Installation\n\n```bash\nnpm install @zanta/baileys\n```\n\n---\n\n## 🔌 Connecting\n\n### 📱 Method 1: QR Code\n\n```javascript\nimport makeWASocket, { useMultiFileAuthState } from '@zanta/baileys'\nimport P from 'pino'\n\nasync function startBot() {\n    const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys')\n\n    const sock = makeWASocket({\n        auth: state,\n        logger: P({ level: 'silent' }),\n        printQRInTerminal: true,\n        browser: ['ZANTA-BAILEYS', 'Chrome', '1.0.0']\n    })\n\n    sock.ev.on('creds.update', saveCreds)\n\n    sock.ev.on('connection.update', ({ connection }) => {\n        if (connection === 'open') {\n            console.log('✅ Bot connected!')\n        }\n    })\n\n    return sock\n}\n\nstartBot()\n```\n\n### 🔢 Method 2: Pairing Code\n\n```javascript\nimport makeWASocket, { useMultiFileAuthState } from '@zanta/baileys'\nimport P from 'pino'\n\nasync function startBotWithPairing() {\n    const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys')\n\n    const sock = makeWASocket({\n        auth: state,\n        logger: P({ level: 'silent' }),\n        printQRInTerminal: false,\n        browser: ['ZANTA-BAILEYS', 'Chrome', '1.0.0']\n    })\n\n    if (!sock.authState.creds.registered) {\n        const phoneNumber = '94771234567'\n        const pairingCode = await sock.requestPairingCode(phoneNumber)\n        console.log('🔢 Your Pairing Code:', pairingCode)\n    }\n\n    sock.ev.on('creds.update', saveCreds)\n\n    sock.ev.on('connection.update', ({ connection }) => {\n        if (connection === 'open') {\n            console.log('✅ Bot connected via pairing code!')\n        }\n    })\n\n    return sock\n}\n\nstartBotWithPairing()\n```\n\n### 🔄 Auto Reconnect\n\n```javascript\nimport makeWASocket, { \n    useMultiFileAuthState, \n    DisconnectReason,\n    fetchLatestBaileysVersion \n} from '@zanta/baileys'\nimport { Boom } from '@hapi/boom'\nimport P from 'pino'\n\nasync function connectToWhatsApp() {\n    const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys')\n    const { version } = await fetchLatestBaileysVersion()\n\n    const sock = makeWASocket({\n        version,\n        auth: state,\n        logger: P({ level: 'silent' }),\n        printQRInTerminal: true,\n        browser: ['ZANTA-BAILEYS', 'Chrome', '1.0.0'],\n        defaultQueryTimeoutMs: 120000,\n        connectTimeoutMs: 60000,\n        enableAutoSessionRecreation: true,\n        markOnlineOnConnect: false,\n        syncFullHistory: false,\n    })\n\n    sock.ev.on('connection.update', (update) => {\n        const { connection, lastDisconnect } = update\n\n        if (connection === 'close') {\n            const statusCode = (lastDisconnect?.error as Boom)?.output?.statusCode\n            const shouldReconnect = statusCode !== DisconnectReason.loggedOut\n\n            console.log(`❌ Disconnected. Code: ${statusCode}`)\n\n            if (shouldReconnect) {\n                setTimeout(() => connectToWhatsApp(), 3000)\n            } else {\n                console.log('🚪 Logged out. Please scan QR again.')\n            }\n        } else if (connection === 'open') {\n            console.log('✅ Connected to WhatsApp!')\n        }\n    })\n\n    sock.ev.on('creds.update', saveCreds)\n\n    return sock\n}\n\nconnectToWhatsApp()\n```\n\n---\n\n## 🎨 Buttons\n\n### 🔘 Simple Buttons\n\n```javascript\nawait sock.sendMessage(jid, {\n    text: '🎯 *Choose an option:*',\n    footer: 'ZANTA-BAILEYS',\n    buttons: [\n        {\n            buttonId: 'btn_yes',\n            buttonText: { displayText: '✅ Yes' },\n            type: 1\n        },\n        {\n            buttonId: 'btn_no',\n            buttonText: { displayText: '❌ No' },\n            type: 1\n        },\n        {\n            buttonId: 'btn_maybe',\n            buttonText: { displayText: '🤔 Maybe' },\n            type: 1\n        }\n    ],\n    headerType: 1\n}, { quoted: m })\n```\n\n### 🔗 URL Buttons\n\n```javascript\nawait sock.sendMessage(jid, {\n    text: '🌐 *Visit our website:*',\n    footer: 'ZANTA-BAILEYS',\n    buttons: [\n        {\n            buttonId: 'url_btn',\n            buttonText: { displayText: '🌐 Open Website' },\n            type: 1\n        }\n    ],\n    headerType: 1\n})\n```\n\n### 📋 List Message (Menu)\n\n```javascript\nawait sock.sendMessage(jid, {\n    text: '📋 *Main Menu*\\n\\nPlease select an option below:',\n    footer: '© ZANTA-BAILEYS',\n    title: '🎯 Bot Menu',\n    buttonText: '📂 Open Menu',\n    sections: [\n        {\n            title: '👤 User Commands',\n            rows: [\n                { title: '👤 My Profile', rowId: 'cmd_profile', description: 'View your profile' },\n                { title: '⚙️ Settings', rowId: 'cmd_settings', description: 'Change settings' },\n                { title: '📊 Statistics', rowId: 'cmd_stats', description: 'View bot stats' }\n            ]\n        },\n        {\n            title: '🎮 Fun Commands',\n            rows: [\n                { title: '🎲 Roll Dice', rowId: 'cmd_dice' },\n                { title: '🎰 Spin Wheel', rowId: 'cmd_spin' },\n                { title: '🎯 Truth or Dare', rowId: 'cmd_tod' }\n            ]\n        },\n        {\n            title: '🛠️ Admin Commands',\n            rows: [\n                { title: '🔨 Ban User', rowId: 'cmd_ban' },\n                { title: '📢 Broadcast', rowId: 'cmd_broadcast' }\n            ]\n        }\n    ]\n}, { quoted: m })\n```\n\n### 📨 Handle Button Responses\n\n```javascript\nsock.ev.on('messages.upsert', async ({ messages, type }) => {\n    const m = messages[0]\n    if (!m.message) return\n\n    const buttonResponse = m.message?.buttonsResponseMessage\n    if (buttonResponse) {\n        const selectedId = buttonResponse.selectedButtonId\n        const selectedText = buttonResponse.selectedDisplayText\n\n        console.log(`User clicked: ${selectedId} (${selectedText})`)\n\n        switch (selectedId) {\n            case 'btn_yes':\n                await sock.sendMessage(m.key.remoteJid, { text: '✅ You said YES!' })\n                break\n            case 'btn_no':\n                await sock.sendMessage(m.key.remoteJid, { text: '❌ You said NO!' })\n                break\n            case 'btn_maybe':\n                await sock.sendMessage(m.key.remoteJid, { text: '🤔 Maybe...' })\n                break\n        }\n    }\n\n    const listResponse = m.message?.listResponseMessage\n    if (listResponse) {\n        const selectedRow = listResponse.singleSelectReply?.selectedRowId\n        console.log(`User selected: ${selectedRow}`)\n\n        if (selectedRow === 'cmd_profile') {\n            await sock.sendMessage(m.key.remoteJid, { text: '👤 *Your Profile*\\nName: User' })\n        }\n    }\n\n    const templateResponse = m.message?.templateButtonReplyMessage\n    if (templateResponse) {\n        console.log(`Template clicked: ${templateResponse.selectedId}`)\n    }\n})\n```\n\n---\n\n## 📢 Channel Media\n\n### 🎵 Send Audio to Channel\n\n```javascript\nawait sock.newsletterSendMedia(channelJid, {\n    audio: { url: 'https://example.com/audio.mp3' },\n    mimetype: 'audio/mp3',\n    ptt: false\n})\n```\n\n---\n\n## 💖 Send Reaction\n\n```javascript\nawait sock.sendMessage(jid, {\n    react: {\n        text: '❤️',\n        key: m.key\n    }\n})\n```\n\n---\n\n## 🛠️ Core API\n\n### 📨 Messaging\n\n```javascript\nawait sock.sendMessage(jid, { text: 'Hi' })           // Text\nawait sock.sendMessage(jid, { image: { url } })       // Image\nawait sock.sendMessage(jid, { video: { url } })       // Video\nawait sock.sendMessage(jid, { audio: { url } })       // Audio\nawait sock.sendMessage(jid, { document: { url } })    // Document\nawait sock.sendMessage(jid, { sticker: { url } })     // Sticker\nawait sock.sendMessage(jid, { react: { text, key } }) // Reaction\nawait sock.sendMessage(jid, { delete: msg.key })      // Delete\nawait sock.sendMessage(jid, { edit: msg.key, text })  // Edit\n```\n\n### 👥 Groups\n\n```javascript\nawait sock.groupCreate(name, participants)\nawait sock.groupParticipantsUpdate(jid, [user], 'add')\nawait sock.groupUpdateSubject(jid, 'New Name')\nawait sock.groupUpdateDescription(jid, 'New Desc')\nawait sock.groupSettingUpdate(jid, 'announcement')\nawait sock.groupLeave(jid)\nawait sock.groupMetadata(jid)\nawait sock.groupInviteCode(jid)\n```\n\n---\n\n## 🔐 Session Management\n\n```javascript\nimport { useMultiFileAuthState } from '@zanta/baileys'\n\nconst { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys')\n\nconst sock = makeWASocket({ auth: state })\n\nsock.ev.on('creds.update', saveCreds)\n```\n\n---\n\n## 📚 Documentation\n\n### Events\n\n| Event | Description |\n|:---|:---|\n| `connection.update` | Connection state changes (open, close, connecting) |\n| `creds.update` | Authentication credentials updated |\n| `messages.upsert` | New messages received |\n| `messages.update` | Message status updates (read, delivered) |\n| `message-receipt.update` | Read receipts |\n| `groups.update` | Group metadata changes |\n| `group-participants.update` | Group members added/removed/promoted |\n| `call` | Incoming call events |\n| `presence.update` | Contact presence (online, typing) |\n\n---\n\n## 🙏 Credits\n\n- **Original Baileys** by [@WhiskeySockets](https://github.com/WhiskeySockets/Baileys)\n- **libsignal** by [@signal](https://github.com/signalapp/libsignal-protocol-javascript)\n- **All contributors** who made this project possible\n\n---\n\n## ⚠️ Disclaimer\n\n> This project is **not affiliated, associated, authorized, endorsed by, or in any way officially connected** with WhatsApp or any of its subsidiaries or affiliates.\n>\n> The official WhatsApp website can be found at [whatsapp.com](https://whatsapp.com). \"WhatsApp\" as well as related names, marks, emblems and images are registered trademarks of their respective owners.\n>\n> **Use at your own discretion.** Do not spam people with this. We discourage any stalkerware, bulk or automated messaging usage.\n\n---\n\n<div align=\"center\">\n  <p>Made with ❤️ byAkash Kavindu</p>\n\n</div>","readmeFilename":"README.md"}