{"_id":"nishiki-bail","_rev":"19-67504323495d43377afc5921fc946d80","name":"nishiki-bail","dist-tags":{"latest":"1.1.19"},"versions":{"1.1.1":{"name":"nishiki-bail","version":"1.1.1","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.1","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"8b4b6d55b142bafc94120728493262fede5e8d0b","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.1.tgz","fileCount":403,"integrity":"sha512-KwZgVEhzceCRQ2U+4TbimZB/tBrq2/a+hvk6p3FpO0I0+W/fiQbmyyRho1K0fNkG6VkjPE3nCeZq5NcLQa9Mww==","signatures":[{"sig":"MEUCIQCulgdMlg6QUOdNOF4oV+5otMvna1P0v1OcB3R9atlicQIgYLgS43yP4yFxo9MPdFwXlKMqiL8NZKmi80qIpjFpHBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8510908},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.1_1787045871760_0.43835843884612014","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"nishiki-bail","version":"1.1.2","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.2","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"4ad99ed97f87a00b56eb9793f648e4c0d03d4acc","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.2.tgz","fileCount":403,"integrity":"sha512-rCQceHZ04BvZAV+kdxr7Qx38NZH/F8y7LZzE0/ZvRSjy8rnV6wQvtvHlrmZvtz0zTBo37eXW03Lq/bQ5XHsWAQ==","signatures":[{"sig":"MEUCIBte1fl8rVHyizaElU1izmKTdeOC4Vxx8fn9mijzVmUOAiEAmnMP+UN125p7HyEXhClqbq9OWn4D6qohnAz3muTDd8c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8511049},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.2_1787046834295_0.3254621382359242","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"nishiki-bail","version":"1.1.3","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.3","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"a7eb23f81fe839e123256924f88f8bc7872d85dd","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.3.tgz","fileCount":403,"integrity":"sha512-Q3xMQfxI77BnLVig62ypychXXnVcSx90q5vXyoeWmUmFqmJvtyoO2mlHzNj0yq0vDLtFT7P49yKrKWt0GU13Jg==","signatures":[{"sig":"MEUCIQDYU8qdg0DoiQi/J2TfPnWKEhjq4Zt8z4HIWHvGvIaOfgIgbvWNYuU1Mi7ZyqddWCQVBdcTVhF+XFZs8UwKs1kLUZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8511038},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.3_1787046966336_0.5678861003078031","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"nishiki-bail","version":"1.1.4","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.4","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"4ff0ec8920d52648bf057c7d816e5efacc8af67e","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.4.tgz","fileCount":403,"integrity":"sha512-Y/ERTLCexJFWz9qLYu4dITrgI1CQfWWABuRPjgQH6Gy8Gk58+ebcueZOd5SRJs5m2yPQQsBpyTEfds3WnyE0Rg==","signatures":[{"sig":"MEQCIFZ/C44We80Jxugt1z7M2ZQDwAqjwXRGKc5ZFCEKCRAKAiBhmYgslzCTfVkitc5/YVzpxGGSXYzy3jXf5xCB+u8uSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8511027},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.4_1787047123367_0.0936305205694099","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"nishiki-bail","version":"1.1.5","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.5","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"f164086a94c8403c384c5af808eecbeffe4dbbc1","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.5.tgz","fileCount":403,"integrity":"sha512-uA6WO+WidHM0Q8RqhcNvo5cDFwobYp5qbfblQcgnUGK9AwMcO3Suan4dnh52amk26EHTcv6YfVbQioG1cGIOUQ==","signatures":[{"sig":"MEUCIQDO1EeyNQwqRzmx6runb8BzremP1+RpfDQygdSoXj8EngIgXgh+f0EWlvQ/olM1XeeLJ0Y79d70gdhIUwP3GB0e8D4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8511001},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.5_1787047277664_0.07985072483254152","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"nishiki-bail","version":"1.1.6","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.6","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"e51e65325bfcf606ebc1af7c430aeff04c5a4f45","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.6.tgz","fileCount":403,"integrity":"sha512-HSRRsHHBN+MsH0qtqMs17liEkDuGrD24J5J9LRQYjrIXFdVnUxtHXmDNnHOgn/9v3n1/v/3AwPEeym5/hMvNWg==","signatures":[{"sig":"MEQCIC8U/o7nDAzTONwYzftc1hKq0pMfi7wcJz7LITs8BOTCAiBkD1/l+87bGA2+DHwrUFg5p6J73cx9KgNvXBEtQsodvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8511023},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.6_1787048305445_0.07964353653460243","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"nishiki-bail","version":"1.1.7","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.7","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"699d9d15421b618cdd00942973bf63095da9d00e","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.7.tgz","fileCount":403,"integrity":"sha512-U7S7lN82PhZvGLGcQ+ezRtl309iA3wCr5+KlAFlCa8vUEIGJYb9MWRUbLCOsPhRl2xrgXiGOMLFmkad5xymeWQ==","signatures":[{"sig":"MEUCIQDe1uDwBLMDY5wlltifTvgAjR0Yv8zWkot1cl0nRwr6fAIgPL/HV2WJpjp+dfixQe/J/SWECN5tXAAshdPp239Wh3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8510992},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.7_1787052916006_0.4465538422211084","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"nishiki-bail","version":"1.1.8","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.8","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"b2d4eca2f686a45641223a77f10aaa76f5fd369d","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.8.tgz","fileCount":403,"integrity":"sha512-ShUVH2pe1f/+l9F/vn6X6+fjT7cffsybvYwTN+2lehYCYGZV7RLO5fHtcElGq+PVGHlo/MVQNjIJAzDfwvKjyQ==","signatures":[{"sig":"MEUCIEAvlAdqKmp7quIn887Tf2YOTufkxNxzzv7OWEqFh/2SAiEAqqs0hSxu0M9gTWG6RLyIWqMbhJwRuascvGjqiME0x+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8511018},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.8_1787054772192_0.08118612936931302","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"nishiki-bail","version":"1.1.9","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.9","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"4e7cad64a0872ac87b32dda3648bbd66498886e7","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.9.tgz","fileCount":405,"integrity":"sha512-hnhzXdgb8ZLgif331jAvd76cEdX+rt4sIJsoIMi2e6rPHAgM4/WrwBnpCYCutATxLyy1rlV6ozOo8AKJyVCGEA==","signatures":[{"sig":"MEUCIQChuEsrJCHAFIrvwf4bKLlU4sa1ltfyyyxkDkV0xdLM4QIgEIbMdrhaF85Tiz3wMUv/ofmZ9HVcMwvAx6cFwtTsNCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8512132},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.9_1787057382298_0.21659477104931946","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"nishiki-bail","version":"1.1.10","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.10","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"93dcc5ce451179260d8f23ce8b0068f61d02ac46","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.10.tgz","fileCount":405,"integrity":"sha512-CllPoaDkuasscLuddmQ6Un6CWhJAzc4dx2NwNnwuQWt36N/Oibv5jhSi0jIAY0HXCeYVE8CfTmQ2uXEQ/mlT2Q==","signatures":[{"sig":"MEUCIBM1IKodWQYWfXQn4dckCs13y1JqgDl165eQkMRVvCqyAiEA+DZw2ypPZGLqPJD5QbhQ8Xlwce8eyMKI3xzWCNz2nbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8524339},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.10_1788203181469_0.5137600698709979","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"nishiki-bail","version":"1.1.11","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.11","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"5c647b929bcd970d9d30d2316d9e0808e30d2ba3","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.11.tgz","fileCount":405,"integrity":"sha512-wSKY0x2STq7IYrT+iFKkJf2DcXKbLPTxmEqRmKbcnhfxTYlWNq0tqZESd3uVUoVdCvqcwNECRlGmEDLgaHXkgA==","signatures":[{"sig":"MEUCIFgZhi44imgZFKM0yWbJXG8Pf2EuZfRlG3M03QcL06QiAiEA+30kURmXsqIX+0B30BcjCyAdwbniPZYcLyPFAQTh86k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8524332},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.11_1788335501852_0.6950192042932946","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"nishiki-bail","version":"1.1.12","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.12","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"f5654f44c6ebcfdb8ed88331c746f6be25b19900","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.12.tgz","fileCount":405,"integrity":"sha512-ItwfaaexiWXrsSddZbQxKDASM/iHbrVN8QuO1zrcoJVYAVT55U1ub4GkMQoeDLG/mAHDNYwGU8KFrEo/3NYQ2g==","signatures":[{"sig":"MEUCIFCd1v/uPVruxEGDHKPbc4svmSSb4ba0Fop57ZkxZDiiAiEA/wuXrx2yPT/dUgBqKVZlnDzZqxJPpS04IFoFixRwsxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8524370},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.12_1788336491453_0.7973952635291295","host":"s3://npm-registry-packages-npm-production"}},"1.1.13":{"name":"nishiki-bail","version":"1.1.13","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.13","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"fbfdf34d41ee208c13f5d73984a97e8805c4c7dc","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.13.tgz","fileCount":405,"integrity":"sha512-xM/oo6AoDPvfGQYsH+tirSk2PsgoiEkmJ1pcjn5HTevDiu6AtX/vGw1nkmycEw0aHVQcEFiF8tTMyXTxoFavsQ==","signatures":[{"sig":"MEUCIEwwXPKphd76xuAcSjpYjNAFvR36geYFHL0cF2j/n7jhAiEAx80rAz/Pf0/dh3zVDsLCzIfwM56Yy9v53tw2uXRkOHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8524408},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.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/nishiki-bail_1.1.13_1788427486652_0.3451196861150574","host":"s3://npm-registry-packages-npm-production"}},"1.1.14":{"name":"nishiki-bail","version":"1.1.14","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.14","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"7b21b6aa9c1cd054444da97e01b2755939c7623f","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.14.tgz","fileCount":405,"integrity":"sha512-QeoFIBmMFnoOBCTuSuszNssAUaflwEbOTSKcXwmuwJk1hMcnkXkpoFtTMvTXK0TFbifWADFoEfXrEpGYcnxU7w==","signatures":[{"sig":"MEUCICF2uO0uDuylyHdg7GREAPZq226nBApT0DiK2WyrJRYhAiEAqR90uwS0XKH3D9u3gn4Xt+6iu28XDiXoawoiHxR38KM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8524409},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.0","dependencies":{"ws":"^8.13.0","pino":"^9.6","p-queue":"^9.0.0","lru-cache":"^11.1.0","@hapi/boom":"^9.1.3","libasignal":"^1.0.0","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/nishiki-bail_1.1.14_1788433090903_0.44638402827039214","host":"s3://npm-registry-packages-npm-production"}},"1.1.15":{"name":"nishiki-bail","version":"1.1.15","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.15","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"93e410d65d7a064db915758a51dd9ae7a50181e7","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.15.tgz","fileCount":405,"integrity":"sha512-yIp/F443AC/Qt/KI47NjxJHroSsdVYx0b23ATHLN3VvXT9XBVKlOlRcdVc517ONwrqCeUmlOk3aGuVeyiVZi3g==","signatures":[{"sig":"MEQCID3sJ9DKBB3935NbSLSM7mKVAOW8nLVQjBiifU/HQzybAiBuqX57G+4KrGZXLhHDWvsOzT4uwVF0yMAJ3aEc3+qcvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8524410},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.0","dependencies":{"ws":"^8.13.0","pino":"^9.6","p-queue":"^9.0.0","lru-cache":"^11.1.0","@hapi/boom":"^9.1.3","libasignal":"^1.0.0","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/nishiki-bail_1.1.15_1788433570593_0.33466845464230355","host":"s3://npm-registry-packages-npm-production"}},"1.1.16":{"name":"nishiki-bail","version":"1.1.16","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.16","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"23dc9eb8b33a569a72eae5b77fcae7b98e38b4db","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.16.tgz","fileCount":405,"integrity":"sha512-WABga8yaUJxTTx6U/Iv5bbVA0dMkJoukamD3zYGXHWN735dUlnDmXp92kO/zTDvbK5Xwq6YPFjCjibcjQCAd4A==","signatures":[{"sig":"MEQCIHdqhqM0NxFWzdPR5ZECE2ofcvMqwyBcUL8FyjXlDcF3AiBEGC6Y1wCigXgI4bv3uu3/bSCiPGWjc3iYDotx/W1UKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8524418},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.0","dependencies":{"ws":"^8.13.0","pino":"^9.6","p-queue":"^9.0.0","lru-cache":"^11.1.0","@hapi/boom":"^9.1.3","libasignal":"^1.0.0","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/nishiki-bail_1.1.16_1788433831881_0.45943315068705104","host":"s3://npm-registry-packages-npm-production"}},"1.1.17":{"name":"nishiki-bail","version":"1.1.17","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.17","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"54816dc68bafffead640d4b15e58e54b3ea23c73","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.17.tgz","fileCount":405,"integrity":"sha512-Zd7BuHULWXowG6kRZRo54DNaRefrqy6NiE2aLb2LXkpCBqxczY2j49GZsG7D+mIvuzWrPIBtvcC/L8rwlIgNhQ==","signatures":[{"sig":"MEYCIQCpmgglV7S26JS29KV1Bqxmw5n2kM6VrCCkTIPUutDnAAIhAIgdWmQxxxbwp+0egcfsU0YZeU6xUOHkr3s1aNhVcYwX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8525366},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.0","dependencies":{"ws":"^8.13.0","pino":"^9.6","p-queue":"^9.0.0","lru-cache":"^11.1.0","@hapi/boom":"^9.1.3","libasignal":"^1.0.0","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/nishiki-bail_1.1.17_1788623312600_0.10415155239342466","host":"s3://npm-registry-packages-npm-production"}},"1.1.18":{"name":"nishiki-bail","version":"1.1.18","keywords":["whatsapp"],"author":{"name":"Nishiki"},"license":"MIT","_id":"nishiki-bail@1.1.18","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"dist":{"shasum":"95e6871541370ab59b2b04c338d598d932e9e835","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.18.tgz","fileCount":405,"integrity":"sha512-5AFC2AWz6vRFPvKaIOAIc9EJs8OdwMf6ak7qgbsGx2Hu0AaGM2LIz0yKBKvYkoG+ZMU3wcYBYR6D9X2g7tf3Xg==","signatures":[{"sig":"MEQCIB2Po5vuKEZNOUQAZDmRBMvFrtbIGUw3tl90hfCSDNUVAiAgvvpSDzYrrsiKRr/jzZ7tdj8om7Y8eIAMoll18+pM0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8525360},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"tsc && eslint src --ext .js,.ts","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","build":"echo 'Library already built in lib/ folder'","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","example":"tsx ./Example/example.ts","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","release":"release-it","lint:fix":"npm run format && npm run lint -- --fix","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","build:all":"npm run build && npm run build:docs","build:docs":"typedoc","preinstall":"node ./engine-requirements.js","gen:protobuf":"sh WAProto/GenerateStatics.sh","changelog:last":"conventional-changelog -p angular -r 2","update:version":"tsx ./scripts/update-version.ts","changelog:update":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","changelog:preview":"conventional-changelog -p angular -u"},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"_npmVersion":"11.6.2","description":"666","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.12.0","dependencies":{"ws":"^8.13.0","pino":"^9.6","p-queue":"^9.0.0","lru-cache":"^11.1.0","@hapi/boom":"^9.1.3","libasignal":"^1.0.0","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/nishiki-bail_1.1.18_1788686820397_0.11671811636248042","host":"s3://npm-registry-packages-npm-production"}},"1.1.19":{"name":"nishiki-bail","type":"module","version":"1.1.19","description":"666","keywords":["whatsapp"],"license":"MIT","author":{"name":"Nishiki"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build:all":"npm run build && npm run build:docs","build:docs":"typedoc","build":"echo 'Library already built in lib/ folder'","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":"tsx ./Example/example.ts","gen:protobuf":"sh WAProto/GenerateStatics.sh","format":"prettier --write \"src/**/*.{ts,js,json,md}\"","lint":"tsc && eslint src --ext .js,.ts","lint:fix":"npm run format && npm run lint -- --fix","prepack":"echo 'Preparing to publish'","prepare":"echo 'Package prepared'","preinstall":"node ./engine-requirements.js","release":"release-it","test":"node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'","test:e2e":"NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'","update:version":"tsx ./scripts/update-version.ts"},"dependencies":{"@cacheable/node-cache":"^1.4.0","@hapi/boom":"^9.1.3","async-mutex":"^0.5.0","libasignal":"^1.0.0","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"},"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"},"_id":"nishiki-bail@1.1.19","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-yUDkb4SNcTI6/KSYUcY3CgIEzcnCHFOxnMdn+oohnIQMIqxEl0ss5PWEexAco96EDQ7FOcqNP/LCJ7F0MPfrCg==","shasum":"49a686aec1cdba75dd150e7585b147d67b4e6f27","tarball":"https://registry.npmjs.org/nishiki-bail/-/nishiki-bail-1.1.19.tgz","fileCount":405,"unpackedSize":8525357,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCsjlkt18IaSArvMGQeuhli4Dl0vM6Udfags444MVRUkAIhAOJbbKC1luq7q4+7hLUatlJdKefkT+6ZPBcTsUKpKg2R"}]},"_npmUser":{"name":"nishiki","email":"gunma6166@gmail.com"},"directories":{},"maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nishiki-bail_1.1.19_1788688287091_0.5954387518830515"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-18T09:37:51.712Z","modified":"2026-09-06T09:51:27.404Z","1.1.1":"2026-08-18T09:37:51.943Z","1.1.2":"2026-08-18T09:53:54.477Z","1.1.3":"2026-08-18T09:56:06.516Z","1.1.4":"2026-08-18T09:58:43.532Z","1.1.5":"2026-08-18T10:01:17.850Z","1.1.6":"2026-08-18T10:18:25.641Z","1.1.7":"2026-08-18T11:35:16.237Z","1.1.8":"2026-08-18T12:06:12.410Z","1.1.9":"2026-08-18T12:49:42.478Z","1.1.10":"2026-08-31T19:06:21.703Z","1.1.11":"2026-09-02T07:51:42.009Z","1.1.12":"2026-09-02T08:08:11.632Z","1.1.13":"2026-09-03T09:24:46.827Z","1.1.14":"2026-09-03T10:58:11.123Z","1.1.15":"2026-09-03T11:06:10.769Z","1.1.16":"2026-09-03T11:10:32.068Z","1.1.17":"2026-09-05T15:48:32.754Z","1.1.18":"2026-09-06T09:27:00.598Z","1.1.19":"2026-09-06T09:51:27.261Z"},"author":{"name":"Nishiki"},"license":"MIT","keywords":["whatsapp"],"description":"666","maintainers":[{"name":"nishiki","email":"gunma6166@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://files.catbox.moe/0oigpb.png\" alt=\"Thumbnail\" />\n</p>\n\n\n\n## Install\n\nUse the stable version:\n```\nyarn add nishiki-bail\n```\n\nThen import your code using:\n```ts\nimport makeWASocket from 'nishiki-bail''\n```\n\n# Index\n\n- [Connecting Account](#connecting-account)\n    - [Connect with QR-CODE](#starting-socket-with-qr-code)\n    - [Connect with Pairing Code](#starting-socket-with-pairing-code)\n    - [Receive Full History](#receive-full-history)\n- [Important Notes About Socket Config](#important-notes-about-socket-config)\n    - [Caching Group Metadata (Recommended)](#caching-group-metadata-recommended)\n    - [Improve Retry System & Decrypt Poll Votes](#improve-retry-system--decrypt-poll-votes)\n    - [Receive Notifications in Whatsapp App](#receive-notifications-in-whatsapp-app)\n\n- [Save Auth Info](#saving--restoring-sessions)\n- [Handling Events](#handling-events)\n    - [Example to Start](#example-to-start)\n    - [Decrypt Poll Votes](#decrypt-poll-votes)\n    - [Summary of Events on First Connection](#summary-of-events-on-first-connection)\n- [Implementing a Data Store](#implementing-a-data-store)\n- [Whatsapp IDs Explain](#whatsapp-ids-explain)\n- [Utility Functions](#utility-functions)\n- [Sending Messages](#sending-messages)\n    - [Non-Media Messages](#non-media-messages)\n        - [Text Message](#text-message)\n        - [Quote Message](#quote-message-works-with-all-types)\n        - [Mention User](#mention-user-works-with-most-types)\n        - [Forward Messages](#forward-messages)\n        - [Location Message](#location-message)\n        - [Contact Message](#contact-message)\n        - [Reaction Message](#reaction-message)\n        - [Pin Message](#pin-message)\n        - [Poll Message](#poll-message)\n    - [Sending with Link Preview](#sending-messages-with-link-previews)\n    - [Media Messages](#media-messages)\n        - [Gif Message](#gif-message)\n        - [Video Message](#video-message)\n        - [Audio Message](#audio-message)\n        - [Image Message](#image-message)\n        - [ViewOnce Message](#view-once-message)\n- [Modify Messages](#modify-messages)\n    - [Delete Messages (for everyone)](#deleting-messages-for-everyone)\n    - [Edit Messages](#editing-messages)\n- [Manipulating Media Messages](#manipulating-media-messages)\n    - [Thumbnail in Media Messages](#thumbnail-in-media-messages)\n    - [Downloading Media Messages](#downloading-media-messages)\n    - [Re-upload Media Message to Whatsapp](#re-upload-media-message-to-whatsapp)\n- [Reject Call](#reject-call)\n- [Send States in Chat](#send-states-in-chat)\n    - [Reading Messages](#reading-messages)\n    - [Update Presence](#update-presence)\n- [Modifying Chats](#modifying-chats)\n    - [Archive a Chat](#archive-a-chat)\n    - [Mute/Unmute a Chat](#muteunmute-a-chat)\n    - [Mark a Chat Read/Unread](#mark-a-chat-readunread)\n    - [Delete a Message for Me](#delete-a-message-for-me)\n    - [Delete a Chat](#delete-a-chat)\n    - [Star/Unstar a Message](#starunstar-a-message)\n    - [Disappearing Messages](#disappearing-messages)\n- [User Querys](#user-querys)\n    - [Check If ID Exists in Whatsapp](#check-if-id-exists-in-whatsapp)\n    - [Query Chat History (groups too)](#query-chat-history-groups-too)\n    - [Fetch Status](#fetch-status)\n    - [Fetch Profile Picture (groups too)](#fetch-profile-picture-groups-too)\n    - [Fetch Bussines Profile (such as description or category)](#fetch-bussines-profile-such-as-description-or-category)\n    - [Fetch Someone's Presence (if they're typing or online)](#fetch-someones-presence-if-theyre-typing-or-online)\n- [Change Profile](#change-profile)\n    - [Change Profile Status](#change-profile-status)\n    - [Change Profile Name](#change-profile-name)\n    - [Change Display Picture (groups too)](#change-display-picture-groups-too)\n    - [Remove display picture (groups too)](#remove-display-picture-groups-too)\n- [Groups](#groups)\n    - [Create a Group](#create-a-group)\n    - [Add/Remove or Demote/Promote](#addremove-or-demotepromote)\n    - [Change Subject (name)](#change-subject-name)\n    - [Change Description](#change-description)\n    - [Change Settings](#change-settings)\n    - [Leave a Group](#leave-a-group)\n    - [Get Invite Code](#get-invite-code)\n    - [Revoke Invite Code](#revoke-invite-code)\n    - [Join Using Invitation Code](#join-using-invitation-code)\n    - [Get Group Info by Invite Code](#get-group-info-by-invite-code)\n    - [Query Metadata (participants, name, description...)](#query-metadata-participants-name-description)\n    - [Join using groupInviteMessage](#join-using-groupinvitemessage)\n    - [Get Request Join List](#get-request-join-list)\n    - [Approve/Reject Request Join](#approvereject-request-join)\n    - [Get All Participating Groups Metadata](#get-all-participating-groups-metadata)\n    - [Toggle Ephemeral](#toggle-ephemeral)\n    - [Change Add Mode](#change-add-mode)\n- [Privacy](#privacy)\n    - [Block/Unblock User](#blockunblock-user)\n    - [Get Privacy Settings](#get-privacy-settings)\n    - [Get BlockList](#get-blocklist)\n    - [Update LastSeen Privacy](#update-lastseen-privacy)\n    - [Update Online Privacy](#update-online-privacy)\n    - [Update Profile Picture Privacy](#update-profile-picture-privacy)\n    - [Update Status Privacy](#update-status-privacy)\n    - [Update Read Receipts Privacy](#update-read-receipts-privacy)\n    - [Update Groups Add Privacy](#update-groups-add-privacy)\n    - [Update Default Disappearing Mode](#update-default-disappearing-mode)\n- [Broadcast Lists & Stories](#broadcast-lists--stories)\n    - [Send Broadcast & Stories](#send-broadcast--stories)\n    - [Query a Broadcast List's Recipients & Name](#query-a-broadcast-lists-recipients--name)\n- [Writing Custom Functionality](#writing-custom-functionality)\n    - [Enabling Debug Level in Baileys Logs](#enabling-debug-level-in-baileys-logs)\n    - [How Whatsapp Communicate With Us](#how-whatsapp-communicate-with-us)\n    - [Register a Callback for Websocket Events](#register-a-callback-for-websocket-events)\n\n## Connecting Account\n\nWhatsApp provides a multi-device API that allows Baileys to be authenticated as a second WhatsApp client by scanning a **QR code** or **Pairing Code** with WhatsApp on your phone.\n\n> [!NOTE]\n> **[Here](#example-to-start) is a simple example of event handling**\n\n> [!TIP]\n> **You can see all supported socket configs in the [SocketConfig type alias](https://baileys.wiki/docs/api/type-aliases/SocketConfig/) (Recommended)**\n\n### Starting socket with **QR-CODE**\n\n> [!TIP]\n> You can customize browser name if you connect with **QR-CODE**, with `Browser` constant, we have some browsers config, **see the [BrowsersMap type alias](https://baileys.wiki/docs/api/type-aliases/BrowsersMap/)**\n\n```ts\nimport makeWASocket from 'nishiki-bail'\n\nconst sock = makeWASocket({\n    // can provide additional config here\n    browser: Browsers.ubuntu('My App'),\n    printQRInTerminal: true\n})\n```\n\nIf the connection is successful, you will see a QR code printed on your terminal screen, scan it with WhatsApp on your phone and you'll be logged in!\n\n### Starting socket with **Pairing Code**\n\n\n> [!IMPORTANT]\n> Pairing Code isn't Mobile API, it's a method to connect Whatsapp Web without QR-CODE, you can connect only with one device, see [here](https://faq.whatsapp.com/1324084875126592/?cms_platform=web)\n\nThe phone number can't have `+` or `()` or `-`, only numbers, you must provide country code\n\n```ts\nimport makeWASocket from 'nishiki-bail'\n\nconst sock = makeWASocket({\n    // can provide additional config here\n    printQRInTerminal: false //need to be false\n})\n\nif (!sock.authState.creds.registered) {\n    const number = 'XXXXXXXXXXX'\n    const code = await sock.requestPairingCode(number)\n    console.log(code)\n}\n```\n\n### Receive Full History\n\n1. Set `syncFullHistory` as `true`\n2. Baileys, by default, use chrome browser config\n    - If you'd like to emulate a desktop connection (and receive more message history), this browser setting to your Socket config:\n\n```ts\nconst sock = makeWASocket({\n    ...otherOpts,\n    // can use Windows, Ubuntu here too\n    browser: Browsers.macOS('Desktop'),\n    syncFullHistory: true\n})\n```\n\n## Important Notes About Socket Config\n\n### Caching Group Metadata (Recommended)\n- If you use baileys for groups, we recommend you to set `cachedGroupMetadata` in socket config, you need to implement a cache like this:\n\n    ```ts\n    const groupCache = new NodeCache({stdTTL: 5 * 60, useClones: false})\n\n    const sock = makeWASocket({\n        cachedGroupMetadata: async (jid) => groupCache.get(jid)\n    })\n\n    sock.ev.on('groups.update', async ([event]) => {\n        const metadata = await sock.groupMetadata(event.id)\n        groupCache.set(event.id, metadata)\n    })\n\n    sock.ev.on('group-participants.update', async (event) => {\n        const metadata = await sock.groupMetadata(event.id)\n        groupCache.set(event.id, metadata)\n    })\n    ```\n\n### Improve Retry System & Decrypt Poll Votes\n- If you want to improve sending message, retrying when error occurs and decrypt poll votes, you need to have a store and set `getMessage` config in socket like this:\n    ```ts\n    const sock = makeWASocket({\n        getMessage: async (key) => await getMessageFromStore(key)\n    })\n    ```\n\n### Receive Notifications in Whatsapp App\n- If you want to receive notifications in whatsapp app, set `markOnlineOnConnect` to `false`\n    ```ts\n    const sock = makeWASocket({\n        markOnlineOnConnect: false\n    })\n    ```\n## Saving & Restoring Sessions\n\nYou obviously don't want to keep scanning the QR code every time you want to connect.\n\nSo, you can load the credentials to log back in:\n```ts\nimport makeWASocket, { useMultiFileAuthState } from 'nishiki-bail'\n\nconst { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys')\n\n// will use the given state to connect\n// so if valid credentials are available -- it'll connect without QR\nconst sock = makeWASocket({ auth: state })\n\n// this will be called as soon as the credentials are updated\nsock.ev.on('creds.update', saveCreds)\n```\n\n> [!IMPORTANT]\n> `useMultiFileAuthState` is a utility function to help save the auth state in a single folder, this function serves as a good guide to help write auth & key states for SQL/no-SQL databases, which I would recommend in any production grade system.\n\n> [!NOTE]\n> When a message is received/sent, due to signal sessions needing updating, the auth keys (`authState.keys`) will update. Whenever that happens, you must save the updated keys (`authState.keys.set()` is called). Not doing so will prevent your messages from reaching the recipient & cause other unexpected consequences. The `useMultiFileAuthState` function automatically takes care of that, but for any other serious implementation -- you will need to be very careful with the key state management.\n\n## Handling Events\n\n- Baileys uses the EventEmitter syntax for events.\nThey're all nicely typed up, so you shouldn't have any issues with an Intellisense editor like VS Code.\n\n> [!IMPORTANT]\n> **The events are in the [BaileysEventMap type alias](https://baileys.wiki/docs/api/type-aliases/BaileysEventMap/)**, it's important you see all events\n\nYou can listen to these events like this:\n```ts\nconst sock = makeWASocket()\nsock.ev.on('messages.upsert', ({ messages }) => {\n    console.log('got messages', messages)\n})\n```\n\n### Example to Start\n\n> [!NOTE]\n> This example includes basic auth storage too\n\n> [!NOTE]\n> For reliable serialization of the authentication state, especially when storing as JSON, always use the BufferJSON utility.\n\n```ts\nimport makeWASocket, { DisconnectReason, useMultiFileAuthState } from 'nishiki-bail'\nimport { Boom } from '@hapi/boom'\n\nasync function connectToWhatsApp () {\n    const { state, saveCreds } = await useMultiFileAuthState('auth_info_baileys')\n    const sock = makeWASocket({\n        // can provide additional config here\n        auth: state,\n        printQRInTerminal: true\n    })\n    sock.ev.on('connection.update', (update) => {\n        const { connection, lastDisconnect } = update\n        if(connection === 'close') {\n            const shouldReconnect = (lastDisconnect.error as Boom)?.output?.statusCode !== DisconnectReason.loggedOut\n            console.log('connection closed due to ', lastDisconnect.error, ', reconnecting ', shouldReconnect)\n            // reconnect if not logged out\n            if(shouldReconnect) {\n                connectToWhatsApp()\n            }\n        } else if(connection === 'open') {\n            console.log('opened connection')\n        }\n    })\n    sock.ev.on('messages.upsert', event => {\n        for (const m of event.messages) {\n            console.log(JSON.stringify(m, undefined, 2))\n\n            console.log('replying to', m.key.remoteJid)\n            await sock.sendMessage(m.key.remoteJid!, { text: 'Hello Word' })\n        }\n    })\n\n    // to storage creds (session info) when it updates\n    sock.ev.on('creds.update', saveCreds)\n}\n// run in main file\nconnectToWhatsApp()\n```\n\n> [!IMPORTANT]\n> In `messages.upsert` it's recommended to use a loop like `for (const message of event.messages)` to handle all messages in array\n\n### Decrypt Poll Votes\n\n- By default poll votes are encrypted and handled in `messages.update`\n- That's a simple example\n```ts\nsock.ev.on('messages.update', event => {\n    for(const { key, update } of event) {\n        if(update.pollUpdates) {\n            const pollCreation = await getMessage(key)\n            if(pollCreation) {\n                console.log(\n                    'got poll update, aggregation: ',\n                    getAggregateVotesInPollMessage({\n                        message: pollCreation,\n                        pollUpdates: update.pollUpdates,\n                    })\n                )\n            }\n        }\n    }\n})\n```\n\n- `getMessage` is a [store](#implementing-a-data-store) implementation (in your end)\n\n### Summary of Events on First Connection\n\n1. When you connect first time, `connection.update` will be fired requesting you to restart sock\n2. Then, history messages will be received in `messaging.history-set`\n\n## Implementing a Data Store\n\n- Baileys does not come with a defacto storage for chats, contacts, or messages. However, a simple in-memory implementation has been provided. The store listens for chat updates, new messages, message updates, etc., to always have an up-to-date version of the data.\n\n> [!IMPORTANT]\n> I highly recommend building your own data store, as storing someone's entire chat history in memory is a terrible waste of RAM.\n\nIt can be used as follows:\n\n## Whatsapp IDs Explain\n\n- `id` is the WhatsApp ID, called `jid` too, of the person or group you're sending the message to.\n    - It must be in the format ```[country code][phone number]@s.whatsapp.net```\n\t    - Example for people: ```+19999999999@s.whatsapp.net```.\n\t    - For groups, it must be in the format ``` 123456789-123345@g.us ```.\n    - For broadcast lists, it's `[timestamp of creation]@broadcast`.\n    - For stories, the ID is `status@broadcast`.\n\n## Utility Functions\n\n- `getContentType`, returns the content type for any message\n- `getDevice`, returns the device from message\n- `makeCacheableSignalKeyStore`, make auth store more fast\n- `downloadContentFromMessage`, download content from any message\n\n## Sending Messages\n\n- Send all types of messages with a single function\n    - **In the [AnyMessageContent type alias](https://baileys.wiki/docs/api/type-aliases/AnyMessageContent/) you can see all message contents supported, like text message**\n    - **In the [MiscMessageGenerationOptions type alias](https://baileys.wiki/docs/api/type-aliases/MiscMessageGenerationOptions/) you can see all options supported, like quote message**\n\n    ```ts\n    const jid: string\n    const content: AnyMessageContent\n    const options: MiscMessageGenerationOptions\n\n    sock.sendMessage(jid, content, options)\n    ```\n\n### Non-Media Messages\n\n#### Text Message\n```ts\nawait sock.sendMessage(jid, { text: 'hello word' })\n```\n\n#### Quote Message (works with all types)\n```ts\nawait sock.sendMessage(jid, { text: 'hello word' }, { quoted: message })\n```\n\n#### Mention User (works with most types)\n- @number is to mention in text, it's optional\n```ts\nawait sock.sendMessage(\n    jid,\n    {\n        text: '@12345678901',\n        mentions: ['12345678901@s.whatsapp.net']\n    }\n)\n```\n\n#### Forward Messages\n- You need to have message object, can be retrieved from [store](#implementing-a-data-store) or use a [message](https://baileys.wiki/docs/api/type-aliases/WAMessage/) object\n```ts\nconst msg = getMessageFromStore() // implement this on your end\nawait sock.sendMessage(jid, { forward: msg }) // WA forward the message!\n```\n\n#### Location Message\n```ts\nawait sock.sendMessage(\n    jid,\n    {\n        location: {\n            degreesLatitude: 24.121231,\n            degreesLongitude: 55.1121221\n        }\n    }\n)\n```\n#### Contact Message\n```ts\nconst vcard = 'BEGIN:VCARD\\n' // metadata of the contact card\n            + 'VERSION:3.0\\n'\n            + 'FN:Jeff Singh\\n' // full name\n            + 'ORG:Ashoka Uni;\\n' // the organization of the contact\n            + 'TEL;type=CELL;type=VOICE;waid=911234567890:+91 12345 67890\\n' // WhatsApp ID + phone number\n            + 'END:VCARD'\n\nawait sock.sendMessage(\n    id,\n    {\n        contacts: {\n            displayName: 'Jeff',\n            contacts: [{ vcard }]\n        }\n    }\n)\n```\n\n#### Reaction Message\n- You need to pass the key of message, you can retrieve from [store](#implementing-a-data-store) or use a [key](https://baileys.wiki/docs/api/type-aliases/WAMessageKey/) object\n```ts\nawait sock.sendMessage(\n    jid,\n    {\n        react: {\n            text: '💖', // use an empty string to remove the reaction\n            key: message.key\n        }\n    }\n)\n```\n\n#### Pin Message\n- You need to pass the key of message, you can retrieve from [store](#implementing-a-data-store) or use a [key](https://baileys.wiki/docs/api/type-aliases/WAMessageKey/) object\n\n- Time can be:\n\n| Time  | Seconds        |\n|-------|----------------|\n| 24h    | 86.400        |\n| 7d     | 604.800       |\n| 30d    | 2.592.000     |\n\n```ts\nawait sock.sendMessage(\n    jid,\n    {\n        pin: {\n            type: 1, // 0 to remove\n            time: 86400\n            key: message.key\n        }\n    }\n)\n```\n\n#### Poll Message\n```ts\nawait sock.sendMessage(\n    jid,\n    {\n        poll: {\n            name: 'My Poll',\n            values: ['Option 1', 'Option 2', ...],\n            selectableCount: 1,\n            toAnnouncementGroup: false // or true\n        }\n    }\n)\n```\n\n### Sending Messages with Link Previews\n\n1. By default, wa does not have link generation when sent from the web\n2. Baileys has a function to generate the content for these link previews\n3. To enable this function's usage, add `link-preview-js` as a dependency to your project with `yarn add link-preview-js`\n4. Send a link:\n```ts\nawait sock.sendMessage(\n    jid,\n    {\n        text: '666'\n    }\n)\n```\n\n### Media Messages\n\nSending media (video, stickers, images) is easier & more efficient than ever.\n\n> [!NOTE]\n> In media messages, you can pass `{ stream: Stream }` or `{ url: Url }` or `Buffer` directly, you can see more in the [WAMediaUpload type alias](https://baileys.wiki/docs/api/type-aliases/WAMediaUpload/)\n\n- When specifying a media url, Baileys never loads the entire buffer into memory; it even encrypts the media as a readable stream.\n\n> [!TIP]\n> It's recommended to use Stream or Url to save memory\n\n#### Gif Message\n- Whatsapp doesn't support `.gif` files, that's why we send gifs as common `.mp4` video with `gifPlayback` flag\n```ts\nawait sock.sendMessage(\n    jid,\n    {\n        video: fs.readFileSync('Media/ma_gif.mp4'),\n        caption: 'hello word',\n        gifPlayback: true\n    }\n)\n```\n\n#### Video Message\n```ts\nawait sock.sendMessage(\n    id,\n    {\n        video: {\n            url: './Media/ma_gif.mp4'\n        },\n        caption: 'hello word',\n\t    ptv: false // if set to true, will send as a `video note`\n    }\n)\n```\n\n#### Audio Message\n- To audio message work in all devices you need to convert with some tool like `ffmpeg` with this flags:\n    ```bash\n        codec: libopus //ogg file\n        ac: 1 //one channel\n        avoid_negative_ts\n        make_zero\n    ```\n    - Example:\n    ```bash\n    ffmpeg -i input.mp4 -avoid_negative_ts make_zero -ac 1 output.ogg\n    ```\n```ts\nawait sock.sendMessage(\n    jid,\n    {\n        audio: {\n            url: './Media/audio.mp3'\n        },\n        mimetype: 'audio/mp4'\n    }\n)\n```\n\n#### Image Message\n```ts\nawait sock.sendMessage(\n    id,\n    {\n        image: {\n            url: './Media/ma_img.png'\n        },\n        caption: 'hello word'\n    }\n)\n```\n\n#### View Once Message\n\n- You can send all messages above as `viewOnce`, you only need to pass `viewOnce: true` in content object\n\n```ts\nawait sock.sendMessage(\n    id,\n    {\n        image: {\n            url: './Media/ma_img.png'\n        },\n        viewOnce: true, //works with video, audio too\n        caption: 'hello word'\n    }\n)\n```\n\n## Modify Messages\n\n### Deleting Messages (for everyone)\n\n```ts\nconst msg = await sock.sendMessage(jid, { text: 'hello word' })\nawait sock.sendMessage(jid, { delete: msg.key })\n```\n\n**Note:** deleting for oneself is supported via `chatModify`, see in [this section](#modifying-chats)\n\n### Editing Messages\n\n- You can pass all editable contents here\n```ts\nawait sock.sendMessage(jid, {\n      text: 'updated text goes here',\n      edit: response.key,\n    });\n```\n\n## Manipulating Media Messages\n\n### Thumbnail in Media Messages\n- For media messages, the thumbnail can be generated automatically for images & stickers provided you add `jimp` or `sharp` as a dependency in your project using `yarn add jimp` or `yarn add sharp`.\n- Thumbnails for videos can also be generated automatically, though, you need to have `ffmpeg` installed on your system.\n\n### Downloading Media Messages\n\nIf you want to save the media you received\n```ts\nimport { createWriteStream } from 'fs'\nimport { downloadMediaMessage, getContentType } from 'nishiki-bail'\n\nsock.ev.on('messages.upsert', async ({ [m] }) => {\n    if (!m.message) return // if there is no text or media message\n    const messageType = getContentType(m) // get what type of message it is (text, image, video...)\n\n    // if the message is an image\n    if (messageType === 'imageMessage') {\n        // download the message\n        const stream = await downloadMediaMessage(\n            m,\n            'stream', // can be 'buffer' too\n            { },\n            {\n                logger,\n                // pass this so that baileys can request a reupload of media\n                // that has been deleted\n                reuploadRequest: sock.updateMediaMessage\n            }\n        )\n        // save to file\n        const writeStream = createWriteStream('./my-download.jpeg')\n        stream.pipe(writeStream)\n    }\n}\n```\n\n### Re-upload Media Message to Whatsapp\n\n- WhatsApp automatically removes old media from their servers. For the device to access said media -- a re-upload is required by another device that has it. This can be accomplished using:\n```ts\nawait sock.updateMediaMessage(msg)\n```\n\n## Reject Call\n\n- You can obtain `callId` and `callFrom` from `call` event\n\n```ts\nawait sock.rejectCall(callId, callFrom)\n```\n\n## Send States in Chat\n\n### Reading Messages\n- A set of message [keys](https://baileys.wiki/docs/api/type-aliases/WAMessageKey/) must be explicitly marked read now.\n- You cannot mark an entire 'chat' read as it were with Baileys Web.\nThis means you have to keep track of unread messages.\n\n```ts\nconst key: WAMessageKey\n// can pass multiple keys to read multiple messages as well\nawait sock.readMessages([key])\n```\n\nThe message ID is the unique identifier of the message that you are marking as read.\nOn a `WAMessage`, the `messageID` can be accessed using ```messageID = message.key.id```.\n\n### Update Presence\n\n- ``` presence ``` can be one of the values in the [WAPresence type alias](https://baileys.wiki/docs/api/type-aliases/WAPresence/)\n- The presence expires after about 10 seconds.\n- This lets the person/group with `jid` know whether you're online, offline, typing etc.\n\n```ts\nawait sock.sendPresenceUpdate('available', jid)\n```\n\n> [!NOTE]\n> If a desktop client is active, WA doesn't send push notifications to the device. If you would like to receive said notifications -- mark your Baileys client offline using `sock.sendPresenceUpdate('unavailable')`\n\n## Modifying Chats\n\nWA uses an encrypted form of communication to send chat/app updates. This has been implemented mostly and you can send the following updates:\n\n> [!IMPORTANT]\n> If you mess up one of your updates, WA can log you out of all your devices and you'll have to log in again.\n\n### Archive a Chat\n```ts\nconst lastMsgInChat = await getLastMessageInChat(jid) // implement this on your end\nawait sock.chatModify({ archive: true, lastMessages: [lastMsgInChat] }, jid)\n```\n### Mute/Unmute a Chat\n\n- Supported times:\n\n| Time  | Miliseconds     |\n|-------|-----------------|\n| Remove | null           |\n| 8h     | 86.400.000     |\n| 7d     | 604.800.000    |\n\n```ts\n// mute for 8 hours\nawait sock.chatModify({ mute: 8 * 60 * 60 * 1000 }, jid)\n// unmute\nawait sock.chatModify({ mute: null }, jid)\n```\n### Mark a Chat Read/Unread\n```ts\nconst lastMsgInChat = await getLastMessageInChat(jid) // implement this on your end\n// mark it unread\nawait sock.chatModify({ markRead: false, lastMessages: [lastMsgInChat] }, jid)\n```\n\n### Delete a Message for Me\n```ts\nawait sock.chatModify(\n    {\n        clear: {\n            messages: [\n                {\n                    id: 'ATWYHDNNWU81732J',\n                    fromMe: true,\n                    timestamp: '1654823909'\n                }\n            ]\n        }\n    },\n    jid\n)\n\n```\n### Delete a Chat\n```ts\nconst lastMsgInChat = await getLastMessageInChat(jid) // implement this on your end\nawait sock.chatModify({\n        delete: true,\n        lastMessages: [\n            {\n                key: lastMsgInChat.key,\n                messageTimestamp: lastMsgInChat.messageTimestamp\n            }\n        ]\n    },\n    jid\n)\n```\n### Pin/Unpin a Chat\n```ts\nawait sock.chatModify({\n        pin: true // or `false` to unpin\n    },\n    jid\n)\n```\n### Star/Unstar a Message\n```ts\nawait sock.chatModify({\n        star: {\n            messages: [\n                {\n                    id: 'messageID',\n                    fromMe: true // or `false`\n                }\n            ],\n            star: true // - true: Star Message; false: Unstar Message\n        }\n    },\n    jid\n)\n```\n\n### Disappearing Messages\n\n- Ephemeral can be:\n\n| Time  | Seconds        |\n|-------|----------------|\n| Remove | 0          |\n| 24h    | 86.400     |\n| 7d     | 604.800    |\n| 90d    | 7.776.000  |\n\n- You need to pass in **Seconds**, default is 7 days\n\n```ts\n// turn on disappearing messages\nawait sock.sendMessage(\n    jid,\n    // this is 1 week in seconds -- how long you want messages to appear for\n    { disappearingMessagesInChat: WA_DEFAULT_EPHEMERAL }\n)\n\n// will send as a disappearing message\nawait sock.sendMessage(jid, { text: 'hello' }, { ephemeralExpiration: WA_DEFAULT_EPHEMERAL })\n\n// turn off disappearing messages\nawait sock.sendMessage(\n    jid,\n    { disappearingMessagesInChat: false }\n)\n```\n\n## User Querys\n\n### Check If ID Exists in Whatsapp\n```ts\nconst [result] = await sock.onWhatsApp(jid)\nif (result.exists) console.log (`${jid} exists on WhatsApp, as jid: ${result.jid}`)\n```\n\n### Query Chat History (groups too)\n\n- You need to have oldest message in chat\n```ts\nconst msg = await getOldestMessageInChat(jid) // implement this on your end\nawait sock.fetchMessageHistory(\n    50, //quantity (max: 50 per query)\n    msg.key,\n    msg.messageTimestamp\n)\n```\n- Messages will be received in `messaging.history-set` event\n\n### Fetch Status\n```ts\nconst status = await sock.fetchStatus(jid)\nconsole.log('status: ' + status)\n```\n\n### Fetch Profile Picture (groups too)\n- To get the display picture of some person/group\n```ts\n// for low res picture\nconst ppUrl = await sock.profilePictureUrl(jid)\nconsole.log(ppUrl)\n\n// for high res picture\nconst ppUrl = await sock.profilePictureUrl(jid, 'image')\n```\n\n### Fetch Bussines Profile (such as description or category)\n```ts\nconst profile = await sock.getBusinessProfile(jid)\nconsole.log('business description: ' + profile.description + ', category: ' + profile.category)\n```\n\n### Fetch Someone's Presence (if they're typing or online)\n```ts\n// the presence update is fetched and called here\nsock.ev.on('presence.update', console.log)\n\n// request updates for a chat\nawait sock.presenceSubscribe(jid)\n```\n\n## Change Profile\n\n### Change Profile Status\n```ts\nawait sock.updateProfileStatus('Hello World!')\n```\n### Change Profile Name\n```ts\nawait sock.updateProfileName('My name')\n```\n### Change Display Picture (groups too)\n- To change your display picture or a group's\n\n> [!NOTE]\n> Like media messages, you can pass `{ stream: Stream }` or `{ url: Url }` or `Buffer` directly, you can see more in the [WAMediaUpload type alias](https://baileys.wiki/docs/api/type-aliases/WAMediaUpload/)\n\n```ts\nawait sock.updateProfilePicture(jid, { url: './new-profile-picture.jpeg' })\n```\n### Remove display picture (groups too)\n```ts\nawait sock.removeProfilePicture(jid)\n```\n\n## Groups\n\n- To change group properties you need to be admin\n\n### Create a Group\n```ts\n// title & participants\nconst group = await sock.groupCreate('My Fab Group', ['1234@s.whatsapp.net', '4564@s.whatsapp.net'])\nconsole.log('created group with id: ' + group.gid)\nawait sock.sendMessage(group.id, { text: 'hello there' }) // say hello to everyone on the group\n```\n### Add/Remove or Demote/Promote\n```ts\n// id & people to add to the group (will throw error if it fails)\nawait sock.groupParticipantsUpdate(\n    jid,\n    ['abcd@s.whatsapp.net', 'efgh@s.whatsapp.net'],\n    'add' // replace this parameter with 'remove' or 'demote' or 'promote'\n)\n```\n### Change Subject (name)\n```ts\nawait sock.groupUpdateSubject(jid, 'New Subject!')\n```\n### Change Description\n```ts\nawait sock.groupUpdateDescription(jid, 'New Description!')\n```\n### Change Settings\n```ts\n// only allow admins to send messages\nawait sock.groupSettingUpdate(jid, 'announcement')\n// allow everyone to send messages\nawait sock.groupSettingUpdate(jid, 'not_announcement')\n// allow everyone to modify the group's settings -- like display picture etc.\nawait sock.groupSettingUpdate(jid, 'unlocked')\n// only allow admins to modify the group's settings\nawait sock.groupSettingUpdate(jid, 'locked')\n```\n### Leave a Group\n```ts\n// will throw error if it fails\nawait sock.groupLeave(jid)\n```\n### Get Invite Code\n- To create link with code use `'https://chat.whatsapp.com/' + code`\n```ts\nconst code = await sock.groupInviteCode(jid)\nconsole.log('group code: ' + code)\n```\n### Revoke Invite Code\n```ts\nconst code = await sock.groupRevokeInvite(jid)\nconsole.log('New group code: ' + code)\n```\n### Join Using Invitation Code\n- Code can't have `https://chat.whatsapp.com/`, only code\n```ts\nconst response = await sock.groupAcceptInvite(code)\nconsole.log('joined to: ' + response)\n```\n### Get Group Info by Invite Code\n```ts\nconst response = await sock.groupGetInviteInfo(code)\nconsole.log('group information: ' + response)\n```\n### Query Metadata (participants, name, description...)\n```ts\nconst metadata = await sock.groupMetadata(jid)\nconsole.log(metadata.id + ', title: ' + metadata.subject + ', description: ' + metadata.desc)\n```\n### Join using `groupInviteMessage`\n```ts\nconst response = await sock.groupAcceptInviteV4(jid, groupInviteMessage)\nconsole.log('joined to: ' + response)\n```\n### Get Request Join List\n```ts\nconst response = await sock.groupRequestParticipantsList(jid)\nconsole.log(response)\n```\n### Approve/Reject Request Join\n```ts\nconst response = await sock.groupRequestParticipantsUpdate(\n    jid, // group id\n    ['abcd@s.whatsapp.net', 'efgh@s.whatsapp.net'],\n    'approve' // or 'reject'\n)\nconsole.log(response)\n```\n### Get All Participating Groups Metadata\n```ts\nconst response = await sock.groupFetchAllParticipating()\nconsole.log(response)\n```\n### Toggle Ephemeral\n\n- Ephemeral can be:\n\n| Time  | Seconds        |\n|-------|----------------|\n| Remove | 0          |\n| 24h    | 86.400     |\n| 7d     | 604.800    |\n| 90d    | 7.776.000  |\n\n```ts\nawait sock.groupToggleEphemeral(jid, 86400)\n```\n\n### Change Add Mode\n```ts\nawait sock.groupMemberAddMode(\n    jid,\n    'all_member_add' // or 'admin_add'\n)\n```\n\n## Privacy\n\n### Block/Unblock User\n```ts\nawait sock.updateBlockStatus(jid, 'block') // Block user\nawait sock.updateBlockStatus(jid, 'unblock') // Unblock user\n```\n### Get Privacy Settings\n```ts\nconst privacySettings = await sock.fetchPrivacySettings(true)\nconsole.log('privacy settings: ' + privacySettings)\n```\n### Get BlockList\n```ts\nconst response = await sock.fetchBlocklist()\nconsole.log(response)\n```\n### Update LastSeen Privacy\n```ts\nconst value = 'all' // 'contacts' | 'contact_blacklist' | 'none'\nawait sock.updateLastSeenPrivacy(value)\n```\n### Update Online Privacy\n```ts\nconst value = 'all' // 'match_last_seen'\nawait sock.updateOnlinePrivacy(value)\n```\n### Update Profile Picture Privacy\n```ts\nconst value = 'all' // 'contacts' | 'contact_blacklist' | 'none'\nawait sock.updateProfilePicturePrivacy(value)\n```\n### Update Status Privacy\n```ts\nconst value = 'all' // 'contacts' | 'contact_blacklist' | 'none'\nawait sock.updateStatusPrivacy(value)\n```\n### Update Read Receipts Privacy\n```ts\nconst value = 'all' // 'none'\nawait sock.updateReadReceiptsPrivacy(value)\n```\n### Update Groups Add Privacy\n```ts\nconst value = 'all' // 'contacts' | 'contact_blacklist'\nawait sock.updateGroupsAddPrivacy(value)\n```\n### Update Default Disappearing Mode\n\n- Like [this](#disappearing-messages), ephemeral can be:\n\n| Time  | Seconds        |\n|-------|----------------|\n| Remove | 0          |\n| 24h    | 86.400     |\n| 7d     | 604.800    |\n| 90d    | 7.776.000  |\n\n```ts\nconst ephemeral = 86400\nawait sock.updateDefaultDisappearingMode(ephemeral)\n```\n\n## Broadcast Lists & Stories\n\n### Send Broadcast & Stories\n- Messages can be sent to broadcasts & stories. You need to add the following message options in sendMessage, like this:\n```ts\nawait sock.sendMessage(\n    jid,\n    {\n        image: {\n            url: url\n        },\n        caption: caption\n    },\n    {\n        backgroundColor: backgroundColor,\n        font: font,\n        statusJidList: statusJidList,\n        broadcast: true\n    }\n)\n```\n- Message body can be a `extendedTextMessage` or `imageMessage` or `videoMessage` or `voiceMessage`, see the [AnyRegularMessageContent type alias](https://baileys.wiki/docs/api/type-aliases/AnyRegularMessageContent/)\n- You can add `backgroundColor` and other options in the message options, see the [MiscMessageGenerationOptions type alias](https://baileys.wiki/docs/api/type-aliases/MiscMessageGenerationOptions/)\n- `broadcast: true` enables broadcast mode\n- `statusJidList`: a list of people that you can get which you need to provide, which are the people who will get this status message.\n\n- You can send messages to broadcast lists the same way you send messages to groups & individual chats.\n- Right now, WA Web does not support creating broadcast lists, but you can still delete them.\n- Broadcast IDs are in the format `12345678@broadcast`\n### Query a Broadcast List's Recipients & Name\n```ts\nconst bList = await sock.getBroadcastListInfo('1234@broadcast')\nconsole.log (`list name: ${bList.name}, recps: ${bList.recipients}`)\n```\n\n## Writing Custom Functionality\nBaileys is written with custom functionality in mind. Instead of forking the project & re-writing the internals, you can simply write your own extensions.\n\n### Enabling Debug Level in Baileys Logs\nFirst, enable the logging of unhandled messages from WhatsApp by setting:\n```ts\nconst sock = makeWASocket({\n    logger: P({ level: 'debug' }),\n})\n```\nThis will enable you to see all sorts of messages WhatsApp sends in the console.\n\n### How Whatsapp Communicate With Us\n\n> [!TIP]\n> If you want to learn whatsapp protocol, we recommend to study about Libsignal Protocol and Noise Protocol\n\n- **Example:** Functionality to track the battery percentage of your phone. You enable logging and you'll see a message about your battery pop up in the console:\n    ```\n    {\n        \"level\": 10,\n        \"fromMe\": false,\n        \"frame\": {\n            \"tag\": \"ib\",\n            \"attrs\": {\n                \"from\": \"@s.whatsapp.net\"\n            },\n            \"content\": [\n                {\n                    \"tag\": \"edge_routing\",\n                    \"attrs\": {},\n                    \"content\": [\n                        {\n                            \"tag\": \"routing_info\",\n                            \"attrs\": {},\n                            \"content\": {\n                                \"type\": \"Buffer\",\n                                \"data\": [8,2,8,5]\n                            }\n                        }\n                    ]\n                }\n            ]\n        },\n        \"msg\":\"communication\"\n    }\n    ```\n\nThe `'frame'` is what the message received is, it has three components:\n- `tag` -- what this frame is about (eg. message will have 'message')\n- `attrs` -- a string key-value pair with some metadata (contains ID of the message usually)\n- `content` -- the actual data (eg. a message node will have the actual message content in it)\n- read more about this format [here](/src/WABinary/readme.md)\n\n### Register a Callback for Websocket Events\n\n> [!TIP]\n> Recommended to see `onMessageReceived` function in `socket.ts` file to understand how websockets events are fired\n\n```ts\n// for any message with tag 'edge_routing'\nsock.ws.on('CB:edge_routing', (node: BinaryNode) => { })\n\n// for any message with tag 'edge_routing' and id attribute = abcd\nsock.ws.on('CB:edge_routing,id:abcd', (node: BinaryNode) => { })\n\n// for any message with tag 'edge_routing', id attribute = abcd & first content node routing_info\nsock.ws.on('CB:edge_routing,id:abcd,routing_info', (node: BinaryNode) => { })\n```\n\n","readmeFilename":"README.md"}