{"_id":"@blacklord_tony/blacklord-btns","name":"@blacklord_tony/blacklord-btns","dist-tags":{"latest":"1.4.0"},"versions":{"1.4.0":{"name":"@blacklord_tony/blacklord-btns","version":"1.4.0","description":"Transparent, unobfuscated interactive-buttons helper for blacklord-socket / Baileys. No eval, no string-table obfuscation.","type":"module","main":"index.js","exports":{".":"./index.js"},"keywords":["whatsapp","baileys","blacklord-socket","buttons","interactive-message","blacklord"],"author":{"name":"Briton Kiplangat"},"license":"MIT","homepage":"https://github.com/blacklorddev15/blacklord-btns","repository":{"type":"git","url":"git+https://github.com/blacklorddev15/blacklord-btns.git"},"peerDependencies":{"blacklord-socket":"^1.0.0"},"engines":{"node":">=18"},"gitHead":"16eba7f0b2551236ae22e4ab94679d154303d717","_id":"@blacklord_tony/blacklord-btns@1.4.0","bugs":{"url":"https://github.com/blacklorddev15/blacklord-btns/issues"},"_nodeVersion":"26.3.1","_npmVersion":"11.17.0","dist":{"integrity":"sha512-YJPVxS/NCh2XwFnbR6u9bd07E5hBu6Tw69dAvjqUBI9w+UeBobBaQhamRm6/ZkJlF29yySr8P36ZIZqI35p/IQ==","shasum":"2813f3a8ca82b7e07dabac4e52367c5d263f7376","tarball":"https://registry.npmjs.org/@blacklord_tony/blacklord-btns/-/blacklord-btns-1.4.0.tgz","fileCount":4,"unpackedSize":11185,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDf5jyu7/tjBbtcPaYFe9IOiQRsxwUZaMI97iS3gCGRSgIhAOwrqnGd9Fz8iGmr17BmLPSelu67zkW3H00FTse+nB8e"}]},"_npmUser":{"name":"blacklord_tony","email":"blacklorddev@gmail.com"},"directories":{},"maintainers":[{"name":"blacklord_tony","email":"blacklorddev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/blacklord-btns_1.4.0_1787859182902_0.26728156326040753"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-27T19:33:02.677Z","1.4.0":"2026-08-27T19:33:03.043Z","modified":"2026-08-27T19:33:03.270Z"},"maintainers":[{"name":"blacklord_tony","email":"blacklorddev@gmail.com"}],"description":"Transparent, unobfuscated interactive-buttons helper for blacklord-socket / Baileys. No eval, no string-table obfuscation.","homepage":"https://github.com/blacklorddev15/blacklord-btns","keywords":["whatsapp","baileys","blacklord-socket","buttons","interactive-message","blacklord"],"repository":{"type":"git","url":"git+https://github.com/blacklorddev15/blacklord-btns.git"},"author":{"name":"Briton Kiplangat"},"bugs":{"url":"https://github.com/blacklorddev15/blacklord-btns/issues"},"license":"MIT","readme":"# Blacklord Buttons\n\nA small, **fully transparent** interactive-buttons helper for\n[blacklord-socket](https://github.com/blacklorddev15/blacklord-socket). No `eval`, no\nstring-table obfuscation, no tamper-checks — every line is plain, readable\nJavaScript you can audit in under five minutes.\n\nBuilt as an open alternative to obfuscated third-party button libraries in\nthe WhatsApp-bot ecosystem, where you'd otherwise be trusting code you\ncan't read.\n\n## Install\n\n```bash\nnpm install blacklord-btns blacklord-socket\n```\n\n## Usage\n\n```js\nimport makeWASocket from 'blacklord-socket'\nimport { sendButtons, btn } from 'blacklord-btns'\n\nconst sock = makeWASocket({ /* ... */ })\n\nawait sendButtons(sock, jid, {\n  text: 'Choose an option below',\n  footer: 'BLACKLORD',\n  title: 'Menu',\n  buttons: [\n    btn.url('Open GitHub', 'https://github.com/blacklorddev15/blacklord-socket'),\n    btn.reply('Say hi', 'hi_id'),\n    btn.copy('Copy invite code', 'BLACKLORD2026'),\n    btn.call('Call support', '+254700000000'),\n    btn.list('View options', [\n      { title: 'Section 1', rows: [{ title: 'Row 1', description: 'optional', id: 'row_1' }] }\n    ])\n  ]\n})\n```\n\n## Button types\n\n| builder | renders as | tap behavior |\n|---|---|---|\n| `btn.url(text, url, merchantUrl?)` | link button | opens `url` |\n| `btn.reply(text, id)` | quick-reply button | sends `id` back as the message text |\n| `btn.copy(text, code)` | copy button | copies `code` to clipboard |\n| `btn.call(text, phoneNumber)` | call button | prompts a call to `phoneNumber` |\n| `btn.list(buttonText, sections)` | list/menu button | opens a tappable list |\n\nButtons are plain `{ name, buttonParamsJson }` objects under the hood — if\nyou need a button type not covered by the builders above, just construct\nthat shape yourself and pass it in `buttons: [...]` directly.\n\n## Options\n\n```ts\nsendButtons(sock, jid, {\n  text?: string        // body text\n  footer?: string       // footer text\n  title?: string         // header title\n  subtitle?: string      // header subtitle\n  buttons: Array<{ name: string, buttonParamsJson: string }>  // required, at least 1\n  quoted?: WAMessage      // message to reply to\n  viewOnce?: boolean      // default true -- required by current WhatsApp\n                          // clients to render native-flow buttons correctly\n})\n```\n\n## Why this exists\n\nMost WhatsApp-bot \"buttons\" packages in this ecosystem ship as obfuscated,\n`eval`-based code with no visibility into what they actually do at runtime.\n`blacklord-btns` builds the same WhatsApp native-flow button message directly\nfrom Baileys/blacklord-socket's own documented proto types — there's nothing\nhidden, and nothing here depends on any specific vendor's backend.\n\n## License\n\nMIT","readmeFilename":"README.md","_rev":"1-df37279a8b29b44d6d739bf92543b6b9"}