{"_id":"@elfhkry/baileys","_rev":"2-19049607543faa88e36e02ad479c306f","name":"@elfhkry/baileys","dist-tags":{"latest":"8.0.12"},"versions":{"8.0.11":{"name":"@elfhkry/baileys","version":"8.0.11","keywords":["whatsapp","websocket","api","nodejs","baileys","wabot","proto","whatsapp-websocket"],"author":{"name":"fhkry"},"license":"MIT","_id":"@elfhkry/baileys@8.0.11","maintainers":[{"name":"elfhkry","email":"fhkryxyz@gmail.com"}],"homepage":"https://github.com/fhkryy/Baileys","bugs":{"url":"https://github.com/fhkryy/Baileys/issues"},"dist":{"shasum":"376ed8ead33abf01c0ad98cea3ee8b816df0ab20","tarball":"https://registry.npmjs.org/@elfhkry/baileys/-/baileys-8.0.11.tgz","fileCount":107,"integrity":"sha512-e9Py/tKHz0V+UfFvBzFotOlzvEMeNfMBjNzExu4lgLvTh4QET6drAtq2f/RVMKd3guMQxPaUAYgyBGSSxUyLvQ==","signatures":[{"sig":"MEYCIQCnrlKapr7oyg9GYmEL/sfWARsOZ6rDGTAczhf6XWH8IQIhAJa3bar96aL1WQTwqSgLUxh+6XiUF3Bu0qZCwmfk7lPH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5658418},"main":"./lib/index.js","engines":{"node":">=20.0.0"},"scripts":{"lint":"eslint src --ext .js","test":"jest","example":"node --inspect Example/example.js","release":"release-it","lint:fix":"yarn lint --fix","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"elfhkry","email":"fhkryxyz@gmail.com"},"repository":{"url":"git+ssh://git@github.com/fhkryy/Baileys.git","type":"git"},"_npmVersion":"11.14.1","description":"Websocket Whatsapp API for Node.js","directories":{"lib":"lib"},"_nodeVersion":"25.8.2","dependencies":{"fs":"*","os":"*","ws":"*","path":"*","pbjs":"^0.0.14","pino":"*","axios":"*","figlet":"*","lodash":"*","p-queue":"*","readline":"*","lru-cache":"*","@hapi/boom":"*","protobufjs":"*","async-mutex":"*","cache-manager":"*","music-metadata":"*","gradient-string":"2.0.2","moment-timezone":"*","@skycodee/libsignal":"*","@cacheable/node-cache":"*","@whiskeysockets/eslint-config":"github:whiskeysockets/eslint-config"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19","devDependencies":{"jest":"*","json":"*","open":"*","eslint":"*","@types/ws":"*","release-it":"*","@types/jest":"*","@types/node":"*","cache-manager":"*","protobufjs-cli":"*","link-preview-js":"*","conventional-changelog-cli":"*"},"peerDependencies":{"jimp":">=0.16.0","audio-decode":"*","link-preview-js":"*"},"peerDependenciesMeta":{"jimp":{"optional":true},"chalk":{"optional":true},"audio-decode":{"optional":true},"link-preview-js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/baileys_8.0.11_1778425193195_0.22022669322540178","host":"s3://npm-registry-packages-npm-production"}},"8.0.12":{"name":"@elfhkry/baileys","version":"8.0.12","description":"Websocket Whatsapp API for Node.js","keywords":["whatsapp","websocket","api","nodejs","baileys","wabot","proto","whatsapp-websocket"],"homepage":"https://github.com/fhkryy/Baileys","repository":{"type":"git","url":"git+ssh://git@github.com/fhkryy/Baileys.git"},"license":"MIT","author":{"name":"fhkry"},"main":"./lib/index.js","scripts":{"changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u","changelog:last":"conventional-changelog -p angular -r 2","gen:protobuf":"sh WAProto/GenerateStatics.sh","example":"node --inspect Example/example.js","lint":"eslint src --ext .js","lint:fix":"yarn lint --fix","release":"release-it","test":"jest"},"dependencies":{"@whiskeysockets/eslint-config":"github:whiskeysockets/eslint-config","@cacheable/node-cache":"*","gradient-string":"2.0.2","@skycodee/libsignal":"*","moment-timezone":"*","music-metadata":"*","cache-manager":"*","async-mutex":"*","@hapi/boom":"*","pbjs":"^0.0.14","protobufjs":"*","lru-cache":"*","readline":"*","p-queue":"*","lodash":"*","figlet":"*","axios":"*","path":"*","pino":"*","ws":"*","fs":"*","os":"*"},"devDependencies":{"conventional-changelog-cli":"*","link-preview-js":"*","protobufjs-cli":"*","cache-manager":"*","@types/jest":"*","@types/node":"*","release-it":"*","@types/ws":"*","eslint":"*","jest":"*","json":"*","open":"*"},"peerDependencies":{"link-preview-js":"*","audio-decode":"*","jimp":">=0.16.0"},"peerDependenciesMeta":{"audio-decode":{"optional":true},"chalk":{"optional":true},"jimp":{"optional":true},"link-preview-js":{"optional":true}},"packageManager":"yarn@1.22.19","engines":{"node":">=20.0.0"},"directories":{"lib":"lib"},"bugs":{"url":"https://github.com/fhkryy/Baileys/issues"},"_id":"@elfhkry/baileys@8.0.12","_nodeVersion":"26.1.0","_npmVersion":"11.14.1","dist":{"integrity":"sha512-tIBT8AZq+ytoJNDzg51/DDosSR+X+BbtAEvBol1e9iXkmdTFVaPxxy1Bw7G8YOolgkMhb5Kr7V90UyiDPoOUwQ==","shasum":"74ede8dc9d4bc4e50487b72bb727bf5acbfb75d4","tarball":"https://registry.npmjs.org/@elfhkry/baileys/-/baileys-8.0.12.tgz","fileCount":107,"unpackedSize":5658474,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICxeC966MJ3zr7v0GQf9k+/I7LFNn1GUXqzjrYuPWHNNAiBJh238rMjffb8SVTM5zOMb7hIVtznVR4NFNHpJ36rOFg=="}]},"_npmUser":{"name":"elfhkry","email":"fhkryxyz@gmail.com"},"maintainers":[{"name":"elfhkry","email":"fhkryxyz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/baileys_8.0.12_1779325089283_0.9479539169533302"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-10T14:59:53.077Z","modified":"2026-05-21T00:58:09.625Z","8.0.11":"2026-05-10T14:59:53.369Z","8.0.12":"2026-05-21T00:58:09.513Z"},"bugs":{"url":"https://github.com/fhkryy/Baileys/issues"},"author":{"name":"fhkry"},"license":"MIT","homepage":"https://github.com/fhkryy/Baileys","keywords":["whatsapp","websocket","api","nodejs","baileys","wabot","proto","whatsapp-websocket"],"repository":{"type":"git","url":"git+ssh://git@github.com/fhkryy/Baileys.git"},"description":"Websocket Whatsapp API for Node.js","maintainers":[{"name":"elfhkry","email":"fhkryxyz@gmail.com"}],"readme":"<div align=\"center\">\n\n<img src=\"https://camo.githubusercontent.com/c1f3b7dcf8145e1a0d91e90aae2b7080e761e88b7d770e0e8429c369d7311425/68747470733a2f2f66696c65732e636174626f782e6d6f652f6335733967302e6a7067\" alt=\"WhatsApp Baileys\" width=\"100%\" />\n\n<br/>\n<br/>\n\n# @elfhkry/baileys\n\n<p>\n  <img src=\"https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=nodedotjs&logoColor=white\" />\n  <img src=\"https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge&logo=whatsapp&logoColor=white\" />\n  <img src=\"https://img.shields.io/badge/WebSocket-010101?style=for-the-badge&logo=socketdotio&logoColor=white\" />\n  <img src=\"https://img.shields.io/badge/Open%20Source-FF4500?style=for-the-badge&logo=github&logoColor=white\" />\n  <img src=\"https://img.shields.io/badge/license-MIT-blue?style=for-the-badge\" />\n</p>\n\n**Open-source WhatsApp automation library 2014 no browser required.**  \nBuilt on WebSocket for speed, stability, and full multi-device support.\n\n<br/>\n\n[Installation](#getting-started) [Documentation](#sendmessage-documentation) [Features](#main-features) [Telegram](https://t.me/Fhkry666)\n\n</div>\n\n---\n\n## What is @elfhkry/baileys?\n\n**@elfhkry/baileys** is a powerful, open-source library for developers who need reliable WhatsApp automation without the overhead of a browser. Powered by **WebSocket technology**, it supports message management, group administration, interactive messages, and action buttons all in a lightweight and modular package.\n\nActively maintained with continuous improvements to **pairing stability**, **session management**, and **WhatsApp multi-device compatibility**.\n\nPerfect for:\n- Business bots & chat automation\n- Customer service systems\n- Broadcast & notification tools\n- E-commerce integrations\n\n---\n\n## Main Features\n\n| Feature | Description |\n|---|---|\n| **Custom Pairing** | Stable pairing with your own codes no disconnection issues |\n| **Interactive Messages** | Buttons, menus, native flows, and more |\n| **Session Management** | Automatic, efficient, and long-term stable |\n| **Multi-Device Support** | Fully compatible with WhatsApp's latest multi-device API |\n| **Lightweight & Modular** | Easy to integrate into any Node.js project |\n| **Rich Documentation** | Comprehensive guides and example code included |\n| **Secure Auth** | Improved authentication flow with fixed prior vulnerabilities |\n\n---\n\n## Getting Started\n\nInstall via npm or yarn:\n\n```bash\nnpm install @elfhkry/baileys\n# or\nyarn add @elfhkry/baileys\n```\n\nThen import and initialize:\n\n```javascript\nconst { makeWASocket, useMultiFileAuthState } = require(\"@elfhkry/baileys\");\n\nconst { state, saveCreds } = await useMultiFileAuthState(\"auth_info\");\nconst sock = makeWASocket({ auth: state });\n\nsock.ev.on(\"creds.update\", saveCreds);\n```\n\n---\n\n## Additional Functions\n\n### Get Channel ID\n```javascript\nawait sock.newsletterId(url);\n```\n\n### Check Banned Number\n```javascript\nawait sock.checkWhatsApp(target);\n```\n\n---\n\n## SendMessage Documentation\n\n<details>\n<summary><b>Group Status Message (V2)</b></summary>\n<br/>\n\n```javascript\nawait sock.sendMessage(target, {\n    groupStatusMessage: {\n        text: \"Hello World\"\n    }\n});\n```\n</details>\n\n<details>\n<summary><b>Album Message (Multiple Images)</b></summary>\n<br/>\n\n```javascript\nawait sock.sendMessage(target, {\n    albumMessage: [\n        { image: cihuy, caption: \"First photo\" },\n        { image: { url: \"IMAGE_URL\" }, caption: \"Second photo\" }\n    ]\n}, { quoted: m });\n```\n</details>\n\n<details>\n<summary><b>Event Message</b></summary>\n<br/>\n\n```javascript\nawait sock.sendMessage(target, {\n    eventMessage: {\n        isCanceled: false,\n        name: \"Event Name\",\n        description: \"Event description here\",\n        location: {\n            degreesLatitude: 0,\n            degreesLongitude: 0,\n            name: \"Location Name\"\n        },\n        joinLink: \"https://call.whatsapp.com/video/example\",\n        startTime: \"1763019000\",\n        endTime: \"1763026200\",\n        extraGuestsAllowed: false\n    }\n}, { quoted: m });\n```\n</details>\n\n<details>\n<summary><b>Poll Result Message</b></summary>\n<br/>\n\n```javascript\nawait sock.sendMessage(target, {\n    pollResultMessage: {\n        name: \"Poll Title\",\n        pollVotes: [\n            { optionName: \"Option A\", optionVoteCount: \"112233\" },\n            { optionName: \"Option B\", optionVoteCount: \"1\" }\n        ]\n    }\n}, { quoted: m });\n```\n</details>\n\n<details>\n<summary><b>Simple Interactive Message</b></summary>\n<br/>\n\n```javascript\nawait sock.sendMessage(target, {\n    interactiveMessage: {\n        header: \"Hello World\",\n        title: \"Hello World\",\n        footer: \"telegram: @Fhkry666\",\n        buttons: [\n            {\n                name: \"cta_copy\",\n                buttonParamsJson: JSON.stringify({\n                    display_text: \"Copy Code\",\n                    id: \"123456789\",\n                    copy_code: \"ABC123XYZ\"\n                })\n            }\n        ]\n    }\n}, { quoted: m });\n```\n</details>\n\n<details>\n<summary><b>Interactive Message with Native Flow</b></summary>\n<br/>\n\n```javascript\nawait sock.sendMessage(target, {\n    interactiveMessage: {\n        header: \"Hello World\",\n        title: \"Hello World\",\n        footer: \"telegram: @Fhkry666\",\n        image: { url: \"https://example.com/image.jpg\" },\n        nativeFlowMessage: {\n            messageParamsJson: JSON.stringify({\n                limited_time_offer: {\n                    text: \"Limited offer text\",\n                    url: \"https://t.me/Fhkry666\",\n                    copy_code: \"PROMO2024\",\n                    expiration_time: Date.now() * 999\n                },\n                bottom_sheet: {\n                    in_thread_buttons_limit: 2,\n                    divider_indices: [1, 2, 3, 4, 5, 999],\n                    list_title: \"List Title\",\n                    button_title: \"Button Title\"\n                },\n                tap_target_configuration: {\n                    title: \"Title\",\n                    description: \"Description text\",\n                    canonical_url: \"https://t.me/Fhkry666\",\n                    domain: \"shop.example.com\",\n                    button_index: 0\n                }\n            }),\n            buttons: [\n                {\n                    name: \"single_select\",\n                    buttonParamsJson: JSON.stringify({ has_multiple_buttons: true })\n                },\n                {\n                    name: \"call_permission_request\",\n                    buttonParamsJson: JSON.stringify({ has_multiple_buttons: true })\n                },\n                {\n                    name: \"single_select\",\n                    buttonParamsJson: JSON.stringify({\n                        title: \"Select an Option\",\n                        sections: [\n                            {\n                                title: \"Section Title\",\n                                highlight_label: \"Label\",\n                                rows: [\n                                    {\n                                        title: \"Row Title\",\n                                        description: \"Row description\",\n                                        id: \"row_1\"\n                                    }\n                                ]\n                            }\n                        ],\n                        has_multiple_buttons: true\n                    })\n                },\n                {\n                    name: \"cta_copy\",\n                    buttonParamsJson: JSON.stringify({\n                        display_text: \"Copy Code\",\n                        id: \"123456789\",\n                        copy_code: \"ABC123XYZ\"\n                    })\n                }\n            ]\n        }\n    }\n}, { quoted: m });\n```\n</details>\n\n<details>\n<summary><b>Interactive Message with Thumbnail</b></summary>\n<br/>\n\n```javascript\nawait sock.sendMessage(target, {\n    interactiveMessage: {\n        header: \"Hello World\",\n        title: \"Hello World\",\n        footer: \"telegram: @Fhkry666\",\n        image: { url: \"https://example.com/image.jpg\" },\n        buttons: [\n            {\n                name: \"cta_copy\",\n                buttonParamsJson: JSON.stringify({\n                    display_text: \"Copy Code\",\n                    id: \"123456789\",\n                    copy_code: \"ABC123XYZ\"\n                })\n            }\n        ]\n    }\n}, { quoted: m });\n```\n</details>\n","readmeFilename":"README.md"}