{"_id":"@arceos/baileys","_rev":"9-a266a9121f5978e83f4d6352cdc6bee9","name":"@arceos/baileys","dist-tags":{"latest":"10.0.45"},"versions":{"10.0.0":{"name":"@arceos/baileys","version":"10.0.0","keywords":["baileys","arceos","whatsapp","whatsapp-api","whatsapp-web","whatsapp-bot","automation","multi-device","arceo","latest","anti-call","call-protection","auto-reject","fast-response"],"author":{"name":"Arceo"},"license":"MIT","_id":"@arceos/baileys@10.0.0","maintainers":[{"name":"arceos","email":"sanjayaadiputra61@gmail.com"}],"homepage":"","dist":{"shasum":"370c5cd231619e49cb095781aafea8a1241bc1ec","tarball":"https://registry.npmjs.org/@arceos/baileys/-/baileys-10.0.0.tgz","fileCount":191,"integrity":"sha512-Kal+PWlTLoiO/KBqlXeC9zkTCU2SJGc5Jf7aulUdi6eKh5jw9DoOdwYp+HITXiN5hdfl+klwQ5eWmE9ZNSkzMw==","signatures":[{"sig":"MEYCIQCX3gZ3YrDEtZnBP3VdkM65eMZ92I2+bxm4W3dleOKVmwIhAOXwqmdd+4v1ZBg6PmRahMJbfde3i/sM4TY2OqaqrT8G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12489947},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"eslint src --ext .js,.ts,.jsx,.tsx","test":"jest","example":"node --inspect -r ts-node/register Example/example.ts","prepack":"echo 'Arceo Baileys'","prepare":"echo 'Arceo Baileys'","release":"release-it","lint:fix":"eslint src --fix --ext .js,.ts,.jsx,.tsx","build:all":"tsc && typedoc","build:tsc":"tsc","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","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":"arceos","email":"sanjayaadiputra61@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.0","description":"@arceos/baileys - Baileys mod.","directories":{},"_nodeVersion":"24.9.0","dependencies":{"ws":"^8.17.1","pino":"^9.6","uuid":"^10.0.0","axios":"^1.13.2","chalk":"^5.6.2","figlet":"^1.7.0","lodash":"^4.17.21","cheerio":"^1.0.0-rc.12","libsignal":"npm:@shennmine/libsignal-node","@hapi/boom":"^9.1.3","protobufjs":"^6.11.4","async-mutex":"^0.5.0","cache-manager":"^5.7.6","music-metadata":"^7.14.0","gradient-string":"^2.0.2","libphonenumber-js":"^1.11.0","@adiwajshing/keyed-db":"^0.2.4","@cacheable/node-cache":"^1.4.0"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19","devDependencies":{"jest":"^29.7.0","json":"^11.0.0","open":"^10.0.0","sharp":"^0.32.6","eslint":"^8.57.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","typedoc":"^0.26.0","@types/ws":"^8.5.0","release-it":"^17.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@types/sharp":"^0.32.0","link-preview-js":"^3.0.5","qrcode-terminal":"^0.12.0","@adiwajshing/eslint-config":"github:adiwajshing/eslint-config","conventional-changelog-cli":"^4.1.0"},"peerDependencies":{"sharp":"^0.32.6","audio-decode":"^2.1.4","link-preview-js":"^3.0.5","qrcode-terminal":"^0.12.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"audio-decode":{"optional":true},"link-preview-js":{"optional":true},"qrcode-terminal":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/baileys_10.0.0_1764197884127_0.9986729597068027","host":"s3://npm-registry-packages-npm-production"}},"10.0.4":{"name":"@arceos/baileys","version":"10.0.4","keywords":["baileys","arceos","whatsapp","whatsapp-api","whatsapp-web","whatsapp-bot","automation","multi-device","arceo","latest","anti-call","call-protection","auto-reject","fast-response"],"author":{"name":"Arceo"},"license":"MIT","_id":"@arceos/baileys@10.0.4","maintainers":[{"name":"arceos","email":"sanjayaadiputra61@gmail.com"}],"homepage":"","dist":{"shasum":"39656d11ac2f799f00bb87d78c68d6dc342f50e8","tarball":"https://registry.npmjs.org/@arceos/baileys/-/baileys-10.0.4.tgz","fileCount":190,"integrity":"sha512-wrjqiXRgyT+QUi7KsKMxA7yB+rXu2QvHTO4zC7RXVshxHadcSEyeOYmRLPhw3ePUjK3W9z6sSRx0Sj+ZcxgJsA==","signatures":[{"sig":"MEUCIQD93ApRtX/ojyPmYh6RRzUm4UDu0c4Oi9x5In1gKZSdCQIgGW020w3M+frww6xH+ElkXD9v8mtkeo8U0QbIUTy1fnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12478588},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"eslint src --ext .js,.ts,.jsx,.tsx","test":"jest","example":"node --inspect -r ts-node/register Example/example.ts","prepack":"echo 'Arceos Baileys'","prepare":"echo 'Arceos Baileys'","release":"release-it","lint:fix":"eslint src --fix --ext .js,.ts,.jsx,.tsx","build:all":"tsc && typedoc","build:tsc":"tsc","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","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":"arceos","email":"sanjayaadiputra61@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.6.0","description":"@arceos/baileys - Baileys mod.","directories":{},"_nodeVersion":"24.9.0","dependencies":{"ws":"^8.17.1","pino":"^9.6","uuid":"^10.0.0","axios":"^1.13.2","chalk":"^5.6.2","figlet":"^1.7.0","lodash":"^4.17.21","cheerio":"^1.0.0-rc.12","libsignal":"npm:@shennmine/libsignal-node","@hapi/boom":"^9.1.3","protobufjs":"^6.11.4","async-mutex":"^0.5.0","cache-manager":"^5.7.6","music-metadata":"^7.14.0","gradient-string":"^2.0.2","libphonenumber-js":"^1.11.0","@adiwajshing/keyed-db":"^0.2.4","@cacheable/node-cache":"^1.4.0"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19","devDependencies":{"jest":"^29.7.0","json":"^11.0.0","open":"^10.0.0","sharp":"^0.32.6","eslint":"^8.57.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","typedoc":"^0.26.0","@types/ws":"^8.5.0","release-it":"^17.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@types/sharp":"^0.32.0","link-preview-js":"^3.0.5","qrcode-terminal":"^0.12.0","@adiwajshing/eslint-config":"github:adiwajshing/eslint-config","conventional-changelog-cli":"^4.1.0"},"peerDependencies":{"sharp":"^0.32.6","audio-decode":"^2.1.4","link-preview-js":"^3.0.5","qrcode-terminal":"^0.12.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"audio-decode":{"optional":true},"link-preview-js":{"optional":true},"qrcode-terminal":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/baileys_10.0.4_1764506904499_0.5899839834250478","host":"s3://npm-registry-packages-npm-production"}},"10.0.45":{"name":"@arceos/baileys","version":"10.0.45","description":"@arceos/baileys - Baileys mod.","keywords":["baileys","whatsapp","whatsapp-api","whatsapp-web","whatsapp-bot","automation","multi-device","arceos"],"homepage":"https://arceos.xyz/","repository":{"url":""},"license":"MIT","author":{"name":"Arceo"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build:all":"tsc && typedoc","build:docs":"typedoc","build:tsc":"tsc","changelog:last":"conventional-changelog -p angular -r 2","changelog:preview":"conventional-changelog -p angular -u","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","example":"node --inspect -r ts-node/register Example/example.ts","gen:protobuf":"sh WAProto/GenerateStatics.sh","lint":"eslint src --ext .js,.ts,.jsx,.tsx","lint:fix":"eslint src --fix --ext .js,.ts,.jsx,.tsx","preinstall":"node ./engine-requirements.js","release":"release-it","test":"test"},"dependencies":{"@adiwajshing/keyed-db":"^0.2.4","@cacheable/node-cache":"^1.4.0","@hapi/boom":"^10.0.1","async-mutex":"^0.5.0","axios":"^1.13.2","cache-manager":"^7.2.5","chalk":"^4.1.2","cheerio":"^1.1.2","gradient-string":"^2.0.2","jimp":"^1.6.0","libphonenumber-js":"^1.12.31","libsignal":"github:realvare/libsignal","lodash":"^4.17.21","music-metadata":"^11.7.0","pino":"^10.1.0","protobufjs":"^7.5.4","uuid":"^13.0.0","ws":"^8.18.3"},"devDependencies":{"@adiwajshing/eslint-config":"github:adiwajshing/eslint-config","@types/got":"^9.6.11","@types/jest":"^29.5.12","@types/node":"^20.14.0","@types/sharp":"^0.32.0","@types/ws":"^8.5.10","conventional-changelog-cli":"^2.2.2","eslint":"^9.0.0","jest":"^29.7.0","jimp":"^1.6.0","json":"^11.0.0","link-preview-js":"^4.0.0","open":"^10.1.0","qrcode-terminal":"^0.12.0","release-it":"^16.1.0","sharp":"^0.33.5","ts-jest":"^29.1.2","ts-node":"^10.9.2","typedoc":"^0.27.0","typescript":"^5.8.0"},"peerDependencies":{"audio-decode":"^2.1.3","link-preview-js":"^4.0.0","qrcode-terminal":"^0.12.0","sharp":"^0.33.0"},"peerDependenciesMeta":{"audio-decode":{"optional":true},"jimp":{"optional":true},"link-preview-js":{"optional":true},"sharp":{"optional":true}},"packageManager":"yarn@1.22.19","engines":{"node":">=20.0.0"},"_id":"@arceos/baileys@10.0.45","_nodeVersion":"24.9.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-0MdzK004FtPFniuT53IFXcfAz2M6gJ6EBMBKwol4x5eZ7KNVgtlzQtQkqUHmmtcYqFCzU6eO7kaYt38LU3J/Jw==","shasum":"491144f40dea76466d29bcd612de7893b5950e80","tarball":"https://registry.npmjs.org/@arceos/baileys/-/baileys-10.0.45.tgz","fileCount":198,"unpackedSize":14874825,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBr8uoM6Azpd+qLIPhP8VQ/r1iBUinXtu1lS3G0ZRsY8AiASts5/QotaOBbKp+EvO0GYNcSywEap2tB36vQRlMGkAg=="}]},"_npmUser":{"name":"arceos","email":"sanjayaadiputra61@gmail.com"},"directories":{},"maintainers":[{"name":"arceos","email":"sanjayaadiputra61@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/baileys_10.0.45_1766052735719_0.9276325260417282"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-26T22:58:04.066Z","modified":"2025-12-18T10:12:16.142Z","10.0.0":"2025-11-26T22:58:04.353Z","10.0.2":"2025-11-30T12:37:10.648Z","10.0.4":"2025-11-30T12:48:24.769Z","10.0.5":"2025-12-17T08:40:46.084Z","10.0.6":"2025-12-18T10:06:48.078Z","10.0.45":"2025-12-18T10:12:15.954Z"},"author":{"name":"Arceo"},"license":"MIT","keywords":["baileys","whatsapp","whatsapp-api","whatsapp-web","whatsapp-bot","automation","multi-device","arceos"],"repository":{"url":""},"description":"@arceos/baileys - Baileys mod.","maintainers":[{"name":"arceos","email":"sanjayaadiputra61@gmail.com"}],"readme":"![Banner](https://capsule-render.vercel.app/api?type=waving&color=0091FF&height=220&section=header&text=@arceos/baileys&fontSize=90&animation=fadeIn&fontAlignY=35&desc=High-Performance%20WhatsApp%20Web%20API%20Library&descAlignY=55&descAlign=50)\r\n\r\n---\r\n\r\n[![npm version](https://img.shields.io/npm/v/@arceos/baileys.svg?style=for-the-badge&logo=npm&color=CB3837)](https://www.npmjs.com/package/@arceos/baileys)\r\n[![downloads](https://img.shields.io/npm/dt/@arceos/baileys.svg?style=for-the-badge&logo=npm&color=CB3837)](https://www.npmjs.com/package/@arceos/baileys)\r\n[![license](https://img.shields.io/npm/l/@arceos/baileys.svg?style=for-the-badge&color=green)](LICENSE)\r\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.5+-3178C6?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/)\r\n\r\n---\r\n\r\n**The most advanced, lightweight, and optimized fork of Baileys.** Built for speed, stability, and modern WhatsApp features without heavy dependencies.\r\n\r\n[Features](#-key-features) •\r\n[Installation](#-installation) •\r\n[Quick Start](#-quick-start) •\r\n[Documentation](#-documentation) •\r\n[Credits](#-credits)\r\n\r\n---\r\n\r\n## 📖 Introduction\r\n\r\n@arceos/baileys is a reimagined version of the classic WhatsApp Web API library. Unlike other forks, this version is meticulously optimized for **Node.js** environments, removing heavy image processing dependencies (Jimp) in favor of native system calls (FFmpeg) and lightweight buffers.\r\n\r\nIt supports the latest Multi-Device architecture, ensuring your bot stays connected longer, responds faster, and consumes less memory.\r\n\r\n## Why use @arceos/baileys?  \r\n\r\n| Feature | @arceos/baileys | Standard Baileys |\r\n| :--- | :---: | :---: |\r\n| **Speed** | 🚀 **Extreme (95% Faster)** | Standard |\r\n| **Dependencies** | 🪶 **Lightweight (No Jimp)** | Heavy |\r\n| **Platform Support** | 📱 **Android, iOS, Web** | Mostly Web/Android |\r\n\r\n---\r\n\r\n## 💡 Key Features\r\n\r\n\r\n* ⚡ **Zero-Bloat Architecture:** Removed `Jimp` and other heavy dependencies. Uses native streams and buffers.\r\n* 🔐 **Enterprise Security:** Full End-to-End Encryption (E2EE) support identical to the official WhatsApp client.\r\n* 📱 **Custom Pairing Code:** Pairing Codes can now be customized to make them easier to read and more professional.\r\n* 📂 **Multi-Session Storage:** Built-in support for `useMultiFileAuthState` to save sessions locally without data loss.\r\n* 🛡️ **Other Features:**\r\n    * **iOS & Apple Support:** Full support for iOS and Apple devices! Special optimizations for Safari and macOS.\r\n    * **Auto Recovery:** The bot keeps running even if the connection is lost! Automatically logs in from the last session without re-scanning the QR code.\r\n    * **Anti-Call:** Auto-reject incoming calls to prevent connection drops.\r\n    * **Anti-Spam:** Protects your number from being flagged as spam.\r\n* 📨 **Advanced Messaging:**\r\n    * Send **Polls** (Voting).\r\n    * Send **Albums** (Grouped media).\r\n    * Send **Interactive Buttons & Lists**.\r\n    * **Dll**.\r\n\r\n---\r\n\r\n## 📋 Requirements\r\n* **Node.js: >= ``20.0.0``**\r\n* **OS: ``Windows | Linux | macOS``**\r\n* **Memory: >= ``1GB RAM``**\r\n* **TypeScript: >= ``5.5+ (optional)``**\r\n\r\n---\r\n\r\n## 📦 Installation\r\n\r\nEnsure you have **Node.js v20.0.0** or higher and **FFmpeg** installed on your system.\r\n\r\n```bash\r\nInstall via NPM\r\nnpm install @arceos/baileys\r\n\r\nInstall via Yarn\r\nyarn add @arceos/baileys\r\n\r\nInstall via PNPM\r\npnpm add @arceos/baileys\r\n```\r\n\r\n---\r\n\r\n## 🚀 Quick Start\r\n\r\n**1. Basic Connection (QR Code)**\r\n\r\n* Create a file named index.js and add the following code:\r\n\r\n```javascript\r\nimport { makeWASocket, DisconnectReason, useMultiFileAuthState } from \"@arceos/baileys\"\r\nimport { Boom } from \"@hapi/boom\"\r\nimport P from \"pino\"\r\n\r\nasync function startBot() {\r\n    const { state, saveCreds } = await useMultiFileAuthState(\"session_auth\")\r\n\r\n    const sock = makeWASocket({\r\n        auth: state,\r\n        printQRInTerminal: true,\r\n        logger: P({ level: \"silent\" }),\r\n        browser: [\"Linux\", \"Chrome\", \"20.0.04\"],\r\n        connectTimeoutMs: 60000,\r\n        defaultQueryTimeoutMs: 0,\r\n        keepAliveIntervalMs: 10000,\r\n        emitOwnEvents: true,\r\n        fireInitQueries: true,\r\n        generateHighQualityLinkPreview: true,\r\n        syncFullHistory: true,\r\n        markOnlineOnConnect: true,\r\n    })\r\n\r\n    sock.ev.on(\"connection.update\", (update) => {\r\n        const { connection, lastDisconnect } = update\r\n        if (connection === \"close\") {\r\n            const shouldReconnect = (lastDisconnect.error)?.output?.statusCode !== DisconnectReason.loggedOut\r\n            if (shouldReconnect) {\r\n                startBot()\r\n            }\r\n        } else if (connection === \"open\") {\r\n            console.log(\"Connected to WhatsApp Successfully\")\r\n        }\r\n    })\r\n\r\n    sock.ev.on(\"creds.update\", saveCreds)\r\n\r\n    sock.ev.on(\"messages.upsert\", async ({ messages }) => {\r\n        const m = messages[0]\r\n        if (!m.message) return\r\n        console.log(JSON.stringify(m, undefined, 2))\r\n    })\r\n}\r\n\r\nstartBot()\r\n```\r\n\r\n**2. Connection via Pairing Code (No QR)**\r\n\r\n* If you prefer using a Pairing Code instead of scanning a QR code:\r\n\r\n```javascript\r\nimport { makeWASocket, useMultiFileAuthState, delay } from \"@arceos/baileys\"\r\nimport P from \"pino\"\r\n\r\nasync function startPairing() {\r\n    const { state, saveCreds } = await useMultiFileAuthState(\"session_pairing\")\r\n\r\n    const sock = makeWASocket({\r\n        auth: state,\r\n        printQRInTerminal: false,\r\n        logger: P({ level: \"silent\" }),\r\n        browser: [\"Linux\", \"Chrome\", \"20.0.04\"]\r\n    })\r\n\r\n    if (!sock.authState.creds.registered) {\r\n        const phoneNumber = \"6281234567890\" \r\n        await delay(3000)\r\n        const code = await sock.requestPairingCode(phoneNumber)\r\n        console.log(`Your Pairing Code: ${code}`)\r\n    }\r\n\r\n    sock.ev.on(\"creds.update\", saveCreds)\r\n}\r\n\r\nstartPairing()\r\n```\r\n\r\n----\r\n\r\n## 📚 Documentation\r\n\r\n#### Text & Media Message\r\n\r\n```javascript\r\nawait sock.sendMessage(\"62812345678@s.whatsapp.net\", { \r\n    text: \"Hello World from @arceos/baileys!\" \r\n})\r\n\r\nImage\r\nawait sock.sendMessage(jid, { \r\n    image: { url: \"[https://example.com/pic.jpg](https://example.com/pic.jpg)\" }, \r\n    caption: \"Here is an image\" \r\n})\r\n\r\nVideo\r\nawait sock.sendMessage(jid, { \r\n    video: { url: \"./local_video.mp4\" }, \r\n    caption: \"Here is a video\",\r\n    gifPlayback: true \r\n})\r\n\r\nAudio\r\nawait sock.sendMessage(jid, { \r\n    audio: { url: \"./audio.mp3\" }, \r\n    mimetype: \"audio/mp4\",\r\n    ptt: true \r\n})\r\n\r\nPolls (Voting)\r\nawait sock.sendMessage(jid, {\r\n    poll: {\r\n        name: \"Which is better?\",\r\n        values: [\"@arceos/baileys\", \"Original Baileys\"],\r\n        selectableCount: 1\r\n    }\r\n})\r\n```\r\n\r\n##### Send Album\r\n\r\n```javascript\r\nawait sock.sendAlbumMessage(jid, [\r\n    { image: { url: \"./img1.jpg\" }, caption: \"Photo 1\" },\r\n    { image: { url: \"./img2.jpg\" }, caption: \"Photo 2\" },\r\n    { video: { url: \"./vid1.mp4\" }, caption: \"Video 1\" }\r\n], { quoted: m })\r\n```\r\n\r\n---\r\n\r\n#### Interactive Buttons\r\n\r\nNote: Button support depends on the WhatsApp version and region.\r\n\r\n```javascript\r\nawait sock.sendMessage(jid, {\r\n    text: \"Please select an option below:\",\r\n    footer: \"Arceo Bot System\",\r\n    buttons: [\r\n        { buttonId: \"id1\", buttonText: { displayText: \"Buy Premium\" }, type: 1 },\r\n        { buttonId: \"id2\", buttonText: { displayText: \"Contact Support\" }, type: 1 }\r\n    ],\r\n    headerType: 1\r\n})\r\n```\r\n##### Button List\r\n\r\n```javascript\r\nconst sections = [\r\n    {\r\n        title: \"Main Menu\",\r\n        rows: [\r\n            { title: \"Option 1\", rowId: \"opt1\", description: \"Description for option 1\" },\r\n            { title: \"Option 2\", rowId: \"opt2\", description: \"Description for option 2\" }\r\n        ]\r\n    }\r\n]\r\n\r\nawait sock.sendMessage(jid, {\r\n    text: \"Open the menu\",\r\n    buttonText: \"Click Here\",\r\n    sections\r\n})\r\n```\r\n\r\n---\r\n\r\n🙏 Credits\r\nThis library is built upon the hard work of the open-source community.\r\n * Original Core: WhiskeySockets/Baileys\r\n * Base Optimizations: @realvare/based\r\n * Performance Engineering: Arceo\r\n\r\nMaintained with ❤️ by Arceo\r\n\r\nLicensed under MIT","readmeFilename":"README.md","homepage":"https://arceos.xyz/"}