{"_id":"noverojava","_rev":"13-ca018fff14a9939c2dbb5335b8286403","name":"noverojava","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.8":{"name":"noverojava","version":"1.0.8","keywords":["ItsNovero","noverojs","baileys","whatsapp","whatsapp-api","whatsapp-web","wa-bot","whatsapp bot"],"author":{"name":"noverojs"},"license":"MIT","_id":"noverojava@1.0.8","maintainers":[{"name":"noverojs","email":"aidilriski876@gmail.com"}],"contributors":[{"name":"XYCoolcraft"}],"homepage":"https://github.com/noverojava/bail","bugs":{"url":"https://github.com/noverojava/bail/issues"},"dist":{"shasum":"cc2686aa71ff9ae4402c78386c77fee21a2b513d","tarball":"https://registry.npmjs.org/noverojava/-/noverojava-1.0.8.tgz","fileCount":143,"integrity":"sha512-pFJQPuX2c9d7mI4LkSOIR6lpEVpDh3Jzl1IM15Rva4zuaDA2xCC1TkyIwBda1kij36w1dlK8EHdmTTIAxyEYew==","signatures":[{"sig":"MEYCIQCnVNo+q0Xnt/WDpcDirJTARCbYjjdWShYWVajRS561gAIhAIS2Anq/i70rRwVXqt+Q/OEI8bojsGcDiDd7e/bgKAK4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12090586},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"eslint src --ext .js,.ts,.jsx,.tsx","test":"jest","prepack":"","prepare":"","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","publish:npm":"bash upload-npm.sh","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"noverojs","email":"aidilriski876@gmail.com"},"repository":{"url":"git+https://github.com/noverojava/bail.git","type":"git"},"_npmVersion":"11.16.0","description":"A WebSockets library for interacting with WhatsApp Web — fork of Baileys","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.17.0","dependencies":{"ws":"^8.13.0","pino":"^9.6","chalk":"^4.1.2","p-queue":"^9.0.0","libsignal":"npm:@noverojs/libsignal-node@latest","lru-cache":"^11.1.0","@hapi/boom":"^9.1.3","protobufjs":"^8.8.0","async-mutex":"^0.5.0","cache-manager":"^7.2.8","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":"^2.7.0","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/noverojava_1.0.8_1788574494832_0.5243155341845089","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"noverojava","version":"1.0.9","keywords":["whatsapp","noverojava","whatsapp-web","whatsapp-chat","whatsapp-group","botwa"],"author":{"name":"noverojava"},"license":"MIT","_id":"noverojava@1.0.9","maintainers":[{"name":"noverojs","email":"aidilriski876@gmail.com"}],"contributors":[{"url":"original Baileys authors","name":"WhiskeySockets"}],"homepage":"https://github.com/noverojava/bail","bugs":{"url":"https://github.com/noverojava/bail/issues"},"dist":{"shasum":"49ef33335ee63f93a8e870cc4a86e4c1fb85023e","tarball":"https://registry.npmjs.org/noverojava/-/noverojava-1.0.9.tgz","fileCount":117,"integrity":"sha512-b9Xq4YVZV6q5H+GBwoe72Vn+MVoqZHNgYjoCwHC5cFV6t0uXSA2xl/A4Uz7x2SdlwtALSnn1eBQMmjBbFWffeQ==","signatures":[{"sig":"MEUCIQD42C65dvNcIuKkq/GbD9Fce32v8RTmjwx55U0aN5tRggIgWKvE1FZ+cHzsUgPzCtCQyZeif8AE0p4INweAMSlgJNk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17398131},"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","prepack":"","prepare":"","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:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"noverojs","email":"aidilriski876@gmail.com"},"repository":{"url":"git+https://github.com/noverojava/bail.git"},"_npmVersion":"11.16.0","description":"WhatsApp API Modification By Noverojava","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.17.0","dependencies":{"ws":"^8.13.0","pino":"^9.6","chalk":"^4.1.2","p-queue":"^9.0.0","libsignal":"github:tenka-san/libsignal-node","lru-cache":"^11.1.0","@hapi/boom":"^9.1.3","protobufjs":"^7.5.6","async-mutex":"^0.5.0","cache-manager":"^7.2.8","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/noverojava_1.0.9_1788952366703_0.32141250129538457","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"noverojava","version":"1.1.0","description":"WhatsApp API Modification By Noverojava","keywords":["whatsapp","noverojava","whatsapp-web","whatsapp-chat","whatsapp-group","botwa"],"homepage":"https://github.com/noverojava/bail","repository":{"url":"git+https://github.com/noverojava/bail.git"},"license":"MIT","author":{"name":"noverojava"},"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","gen:protobuf":"sh WAProto/GenerateStatics.sh","lint":"eslint src --ext .js,.ts,.jsx,.tsx","lint:fix":"eslint src --fix --ext .js,.ts,.jsx,.tsx","prepack":"","prepare":"","preinstall":"node ./engine-requirements.js","release":"release-it","test":"jest"},"dependencies":{"@cacheable/node-cache":"^1.4.0","@hapi/boom":"^9.1.3","async-mutex":"^0.5.0","libsignal":"github:tenka-san/libsignal-node","lru-cache":"^11.1.0","music-metadata":"^11.12.3","p-queue":"^9.0.0","pino":"^9.6","protobufjs":"^7.5.6","whatsapp-rust-bridge":"0.5.4","ws":"^8.13.0","chalk":"^4.1.2","cache-manager":"^7.2.8"},"devDependencies":{"@eslint/eslintrc":"^3.3.1","@eslint/js":"^9.31.0","@types/jest":"^30.0.0","@types/node":"^20.9.0","@types/ws":"^8.0.0","@typescript-eslint/eslint-plugin":"^8","@typescript-eslint/parser":"^8","@whiskeysockets/eslint-config":"^1.0.0","conventional-changelog":"^7.1.1","conventional-changelog-angular":"^8.0.0","esbuild-register":"^3.6.0","eslint":"^9","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.4.0","jest":"^30.0.5","jimp":"^1.6.1","jiti":"^2.4.2","json":"^11.0.0","link-preview-js":"^3.0.0","lru-cache":"^11.1.0","open":"^8.4.2","pino-pretty":"^13.1.1","prettier":"^3.5.3","protobufjs-cli":"^1.1.3","release-it":"^20.0.1","ts-jest":"^29.4.0","tsc-esm-fix":"^3.1.2","tsx":"^4.20.3","typedoc":"^0.27.9","typedoc-plugin-markdown":"4.4.2","typescript":"^5.8.2"},"peerDependencies":{"audio-decode":"^2.1.3","jimp":"^1.6.1","link-preview-js":"^3.0.0","sharp":"*"},"resolutions":{"ajv@npm:^6.12.4":"^6.14.0","basic-ftp":"^5.2.4","brace-expansion@npm:^1.1.7":"^1.1.13","brace-expansion@npm:^2.0.1":"^2.0.3","flatted":"^3.4.2","glob@npm:^10.2.2":"^10.5.0","glob@npm:^10.3.10":"^10.5.0","glob@npm:^10.5.0":"^10.5.0","handlebars":"^4.7.9","ip-address":"^10.1.1","js-yaml@npm:^3.13.1":"^3.14.2","js-yaml@npm:^4.1.0":"^4.1.1","markdown-it":"^14.1.1","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","socks":"^2.8.8","tar":"^7.5.11","tmp":"^0.2.5","underscore":"^1.13.8","yaml@npm:^2.6.1":"^2.8.4"},"peerDependenciesMeta":{"audio-decode":{"optional":true},"jimp":{"optional":true},"link-preview-js":{"optional":true}},"packageManager":"yarn@4.9.2","engines":{"node":">=20.0.0"},"bugs":{"url":"https://github.com/noverojava/bail/issues"},"contributors":[{"name":"WhiskeySockets","url":"original Baileys authors"}],"gitHead":"d91814a10374aeae7a1f24a9a8e4950ef51e6d9f","_id":"noverojava@1.1.0","_nodeVersion":"24.17.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-vmdEb3awfAs4zSUozx2rNJU74B0CQPcbRMvqWs1amnJ4jeeeH5II+nRQd+YiJXQ1L+Rx8eEYpbwKN0E69znldg==","shasum":"ea931f9d73ed826004b919a1323440337828ebbf","tarball":"https://registry.npmjs.org/noverojava/-/noverojava-1.1.0.tgz","fileCount":117,"unpackedSize":17398159,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDY+sMX6EI++wI7d6huRz48cp+VLbzwy5YnVqjeKy/bjAiBRLVoaNhJQnP6hUHS6d8S5HqBcSAoAdSAdtfhaifZsHg=="}]},"_npmUser":{"name":"noverojs","email":"aidilriski876@gmail.com"},"directories":{},"maintainers":[{"name":"noverojs","email":"aidilriski876@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/noverojava_1.1.0_1788952908362_0.2567206138390621"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-03T15:43:17.897Z","modified":"2026-09-09T11:21:48.767Z","1.0.3":"2026-09-03T15:43:18.277Z","1.0.4":"2026-09-03T16:02:38.504Z","1.0.5":"2026-09-03T16:07:51.644Z","1.0.6":"2026-09-05T02:07:28.008Z","1.0.7":"2026-09-05T02:10:14.978Z","1.0.8":"2026-09-05T02:14:55.064Z","1.0.9":"2026-09-09T11:12:46.865Z","1.1.0":"2026-09-09T11:21:48.577Z"},"bugs":{"url":"https://github.com/noverojava/bail/issues"},"author":{"name":"noverojava"},"license":"MIT","homepage":"https://github.com/noverojava/bail","keywords":["whatsapp","noverojava","whatsapp-web","whatsapp-chat","whatsapp-group","botwa"],"repository":{"url":"git+https://github.com/noverojava/bail.git"},"description":"WhatsApp API Modification By Noverojava","contributors":[{"name":"WhiskeySockets","url":"original Baileys authors"}],"maintainers":[{"name":"noverojs","email":"aidilriski876@gmail.com"}],"readme":"<div align=\"center\"><img src=\"https://readme-typing-svg.demolab.com?font=Fira+Code&size=32&pause=1000&color=A855F7&center=true&vCenter=true&width=650&lines=%40noverojava%2Fbaileys;Created+by+ItsNovero;WhatsApp+Baileys+%2B+Node.js\" alt=\"noverojava typing banner\" /><br/><img src=\"https://files.catbox.moe/q319ab.png\" width=\"150\" alt=\"ItsNovero Logo\" />\n\n# noverojava\n\nA powerful WebSockets library for interacting with WhatsApp Web — maintained by ItsNovero.\n\nBuilt on top of Baileys and enhanced with additional utilities, helpers, safety controls, and modern WhatsApp Web features.\n\n[![npm version](https://img.shields.io/npm/v/%40noverojava%2Fbaileys?color=a855f7&label=npm)](https://www.npmjs.com/package/noverojava)\n[![npm downloads](https://img.shields.io/npm/dt/%40noverojava%2Fbaileys?color=blue)](https://www.npmjs.com/package/noverojava)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Node](https://img.shields.io/badge/node-%3E%3D20-brightgreen.svg)](package.json)\n[![Made with](https://img.shields.io/badge/made%20with-%E2%9D%A4-red)](#credits)\n\n<br/>Fast • Modern • Powerful • Extensible\n\n</div>\n\n---\n\n> 📖 **New here?** Check [LITERACY.md](LITERACY.md) for a deeper explanation of the architecture and modules.\n\n[Installation](#getting-started) • [Documentation](#sendmessage-documentation) • [Features](#main-features) • [Telegram Owner](https://t.me/ItsNovero) • [Channel](https://t.me/mekslosu)\n\n<a name=\"main-features\"></a>\n\n## ✨ Features\n\n- 🔗 WhatsApp Multi-Device support\n- 📱 QR Code & Pairing Code login\n- 🏢 WhatsApp & WhatsApp Business support\n- 📢 Channel / Newsletter utilities\n- 🛡️ Optional send safety controls\n- 📊 ACK monitoring\n- 🤖 AI watermark support\n- 🧩 Extended socket utilities\n- 📦 SQLite authentication state\n- 🖼️ Sticker & media helpers\n- ⚡ Performance optimizations\n- 💾 Memory and cache controls\n\n---\n\n<a name=\"getting-started\"></a>\n\n## 📦 Installation\n\nInstall using npm:\n\n    npm install noverojava\n\nOr using Yarn:\n\n    yarn add noverojava\n\nOr pnpm:\n\n    pnpm add noverojava\n\n---\n\n## 🚀 Quick Start\n\n    import makeWASocket from 'noverojava';\n\n    const sock = makeWASocket({\n        printQRInTerminal: true\n    });\n\n    sock.ev.on('connection.update', (update) => {\n        console.log('Connection Update:', update);\n    });\n\n    sock.ev.on('messages.upsert', ({ messages }) => {\n        const message = messages[0];\n\n        console.log('New Message:', message);\n    });\n\n---\n\n## 🔐 Connecting to WhatsApp\n\n### 📱 QR Code\n\n    import makeWASocket, {\n        Browsers\n    } from 'noverojava';\n\n    const sock = makeWASocket({\n        browser: Browsers.itsnovero('Chrome'),\n        printQRInTerminal: true\n    });\n\n---\n\n### 🔢 Pairing Code\n\n    import makeWASocket, {\n        fetchLatestWAWebVersion,\n        Browsers\n    } from 'noverojava';\n\n    const sock = makeWASocket({\n        browser: Browsers.itsnovero('Chrome'),\n        printQRInTerminal: false,\n        version: (await fetchLatestWAWebVersion()).version\n    });\n\n    const number = '628XXXXXXXXXX';\n\n    const code = await sock.requestPairingCode(\n        number.trim()\n    );\n\n    console.log('Your Pairing Code:', code);\n\n---\n\n## 📢 WhatsApp Channels\n\nGet a channel JID from an invite link:\n\n    import {\n        extractNewsletterInviteCode\n    } from 'noverojava';\n\n    const link =\n        'https://whatsapp.com/channel/0029VaXXXXXXXXXXXXXXXX';\n\n    const code =\n        extractNewsletterInviteCode(link);\n\n    const metadata =\n        await sock.newsletterMetadata(\n            'invite',\n            code\n        );\n\n    console.log(metadata.id);\n\n    // Example:\n    // 120363012345678901@newsletter\n\n---\n\n## 🛡️ Channel Follow Protection\n\n`noverojava` can help protect against unexpected channel-follow calls from third-party scripts.\n\n    const sock = makeWASocket({\n        blockAutoFollowChannels: true\n    });\n\nCheck blocked attempts:\n\n    console.log(\n        sock.getBlockedChannelFollows()\n    );\n\nAllow trusted channels:\n\n    const sock = makeWASocket({\n        allowedFollowChannels: [\n            '123456789012345@newsletter'\n        ]\n    });\n\nDisable the protection:\n\n    const sock = makeWASocket({\n        blockAutoFollowChannels: false\n    });\n\n---\n\n## 👥 Group Join Protection\n\nPrevent unexpected scripts from automatically joining groups.\n\n    const sock = makeWASocket({\n        blockAutoJoinGroups: true,\n\n        allowedAutoJoinGroups: [\n            'ABCDEF123456'\n        ]\n    });\n\nCheck blocked joins:\n\n    console.log(\n        sock.getBlockedGroupJoins()\n    );\n\n---\n\n## 💬 Unknown Recipient Protection\n\nFlag messages sent to new recipients:\n\n    const sock = makeWASocket({\n        blockUnknownRecipients: false\n    });\n\nCheck flagged recipients:\n\n    console.log(\n        sock.getFlaggedRecipients()\n    );\n\nBlock unknown recipients completely:\n\n    const sock = makeWASocket({\n        blockUnknownRecipients: true,\n\n        allowedRecipients: [\n            '6281234567890@s.whatsapp.net'\n        ]\n    });\n\n---\n\n## 🛡️ AntiBanned\n\nOptional send throttling for new accounts.\n\n    const sock = makeWASocket({\n        antiBanned: {\n            enabled: true,\n\n            warmUpDays: 7,\n\n            day1Limit: 20,\n\n            growthFactor: 1.8,\n\n            action: 'delay'\n        }\n    });\n\nCheck status:\n\n    console.log(\n        sock.getAntiBannedStatus()\n    );\n\nSave the state:\n\n    const state =\n        sock.exportAntiBannedState();\n\n---\n\n## ⚡ AntiBan\n\nAdvanced optional safety controls for message sending.\n\n    const sock = makeWASocket({\n        antiban: 'moderate'\n    });\n\nAvailable presets:\n\n| Preset | Speed | Recommended |\n|---|---|---|\n| `conservative` | Slow | New accounts |\n| `moderate` | Balanced | Most bots |\n| `aggressive` | Fast | High traffic |\n\nCheck statistics:\n\n    console.log(\n        sock.antiban.getStats()\n    );\n\nDisable:\n\n    const sock = makeWASocket({\n        antiban: false\n    });\n\n---\n\n## 🤖 AI Watermark\n\nEnable an AI label for supported button messages.\n\n    const sock = makeWASocket({\n        aiWatermark: true\n    });\n\n    await sock.sendMessage(\n        jid,\n        {\n            text: 'Choose an option',\n\n            footer:\n                'Powered by noverojava',\n\n            buttons: [\n                {\n                    buttonId: 'option1',\n\n                    buttonText: {\n                        displayText:\n                            'Option 1'\n                    },\n\n                    type: 1\n                }\n            ]\n        }\n    );\n\n---\n\n## 📊 ACK Monitor\n\nMonitor WhatsApp message acknowledgements.\n\n    const sock = makeWASocket({\n        ackMonitor: true,\n\n        ackMonitorCooldownMs:\n            60000\n    });\n\nExample output:\n\n    [noverojava-baileys] ACK Monitor:\n    Rate-limited / Limit\n\n    Recipient:\n    6281234567890@s.whatsapp.net\n\n---\n\n## ⚙️ Performance\n\nThe library includes performance improvements such as:\n\n- Limited cache sizes\n- Message retry cache limits\n- Memory protection\n- Guard log limits\n- Lazy-loaded optional dependencies\n- Optimized media processing\n- Reduced unnecessary resource usage\n\n---\n\n## 🔥 optiMazer\n\nEnable tighter cache limits and resource monitoring.\n\n    const sock = makeWASocket({\n        optiMazer: true\n    });\n\nCheck optimizer statistics:\n\n    console.log(\n        sock.getOptimizerStats()\n    );\n\nCustom configuration:\n\n    const sock = makeWASocket({\n        optiMazer: {\n            userDevicesCacheMaxKeys: 500,\n\n            tickIntervalMs: 30000\n        }\n    });\n\n---\n\n## 📱 WhatsApp Status\n\nSend a WhatsApp Status with mentions.\n\n    await sock.sendStatusWhatsApp(\n        {\n            text:\n                'Big announcement! 🎉',\n\n            backgroundColor:\n                '#00A884'\n        },\n\n        [\n            '6281234567890@s.whatsapp.net'\n        ]\n    );\n\n---\n\n## 💾 SQLite Auth State\n\nStore authentication data in a SQLite database.\n\n    import makeWASocket, {\n        useSqliteAuthState\n    } from 'noverojava';\n\n    const {\n        state,\n        saveCreds\n    } =\n    await useSqliteAuthState(\n        './auth'\n    );\n\n    const sock =\n        makeWASocket({\n            auth: state\n        });\n\n    sock.ev.on(\n        'creds.update',\n        saveCreds\n    );\n\n---\n\n## 🗂️ In-Memory Store\n\n    import makeWASocket, {\n        makeInMemoryStore\n    } from 'noverojava';\n\n    import pino from 'pino';\n\n    const store =\n        makeInMemoryStore({\n            logger:\n                pino().child({\n                    level:\n                        'silent'\n                })\n        });\n\n    const sock =\n        makeWASocket({\n            printQRInTerminal:\n                true\n        });\n\n    store.bind(\n        sock.ev\n    );\n\n---\n\n<a name=\"sendmessage-documentation\"></a>\n\n## 💬 Sending Messages\n\n### Send Text\n\n    await sock.sendMessage(\n        jid,\n        {\n            text:\n                'Hello World!'\n        }\n    );\n\n### Send Image\n\n    await sock.sendMessage(\n        jid,\n        {\n            image: {\n                url:\n                    './image.jpg'\n            },\n\n            caption:\n                'Hello!'\n        }\n    );\n\n### Send Video\n\n    await sock.sendMessage(\n        jid,\n        {\n            video: {\n                url:\n                    './video.mp4'\n            },\n\n            caption:\n                'Video Message'\n        }\n    );\n\n### Send Audio\n\n    await sock.sendMessage(\n        jid,\n        {\n            audio: {\n                url:\n                    './audio.mp3'\n            },\n\n            mimetype:\n                'audio/mpeg'\n        }\n    );\n\n---\n\n## 🧩 Utilities\n\n`noverojava` provides additional utilities:\n\n    import {\n        createSessionPool,\n        autoCacheViewOnceMedia,\n        createCommandHandler,\n        imageToWebpSticker,\n        videoToWebpSticker,\n        AdaptiveDelayManager\n    } from 'noverojava';\n\nExample command handler:\n\n    sock.command(\n        'ping',\n\n        async (msg) => {\n            await sock.sendMessage(\n                msg.key.remoteJid,\n                {\n                    text:\n                        'pong 🏓'\n                }\n            );\n        }\n    );\n\n---\n\n## 🖼️ Sticker Support\n\n    import {\n        imageToWebpSticker\n    } from 'noverojava';\n\n    const sticker =\n        await imageToWebpSticker(\n            './image.jpg'\n        );\n\n---\n\n## 🔧 Requirements\n\n| Requirement | Version |\n|---|---|\n| Node.js | `>=20` |\n| npm | Latest |\n| WhatsApp | Multi-Device |\n\nFor SQLite authentication:\n\n    Node.js >=22.5\n\n---\n\n<a name=\"credits\"></a>\n\n## 📚 Credits\n\n### Original Project\n\n- Baileys\n- WhiskeySockets Community\n- Original protocol contributors\n\n### Maintained & Modified By\n\n**ItsNovero**\n\nAll credit for the original WhatsApp Web protocol implementation belongs to the original Baileys developers and contributors.\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome!\n\n1. Fork the repository\n2. Create a new branch\n3. Make your changes\n4. Test the project\n5. Submit a Pull Request\n\nPlease read:\n\n[CONTRIBUTING.md](CONTRIBUTING.md)\n\nbefore submitting major changes.\n\n---\n\n## 📦 Publishing\n\nInstall dependencies:\n\n    npm install\n\nBuild the project:\n\n    npm run build\n\nPublish:\n\n    npm publish\n\n---\n\n## ⚠️ Disclaimer\n\n`noverojava` is not an official WhatsApp product.\n\nUsing automated WhatsApp clients, bulk messaging, spam, or unsolicited messages may violate WhatsApp's Terms of Service and could result in account restrictions or bans.\n\nUse this library responsibly.\n\n---\n\n<div align=\"center\">\n\n<img src=\"https://files.catbox.moe/q319ab.png\" width=\"90\" alt=\"ItsNovero Logo\" />\n\n**Made with ❤️ by ItsNovero**\n\n**noverojava**\n\n⭐ Star the repository if you find it useful.\n\n</div>","readmeFilename":"README.md"}