{"_id":"@axrxvm/betterdiscordjs","_rev":"5-b3e99d26ec082309c5ea1cb696053377","name":"@axrxvm/betterdiscordjs","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@axrxvm/betterdiscordjs","version":"1.0.0","keywords":["betterdiscordjs","discord.js","discord","discord-bot","bots","better-discord.js"],"author":{"name":"Aarav Mehta"},"license":"MIT","_id":"@axrxvm/betterdiscordjs@1.0.0","maintainers":[{"name":"axrxvm","email":"axrxvm@gmail.com"}],"homepage":"https://github.com/axrxvm/betterdiscordjs#readme","bugs":{"url":"https://github.com/axrxvm/betterdiscordjs/issues"},"git":"https://github.com/axrxvm/betterdiscordjs.git","dist":{"shasum":"8c06fd87dbbd65e179b7e7077cf5f236bbc9889f","tarball":"https://registry.npmjs.org/@axrxvm/betterdiscordjs/-/betterdiscordjs-1.0.0.tgz","fileCount":62,"integrity":"sha512-RbwER5qO5bMrz/WnJqHlxmCIF5vanloQUo04wtrW+x9WJ9MFRHlEGjSbYudAyVAlwmJPUEXLtQyMXtuhsiw2NQ==","signatures":[{"sig":"MEYCIQDo4rjYZF4MjzUR95Y2rrFbqgwFVFrGOqzhjp0pPObfAwIhAIFrWW6ega1VWsIva3eHnF9c2ZlYUb/wxeIrmK3ncEfA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608964},"main":"index.js","type":"commonjs","gitHead":"1e6b7cc1fb6aa97116b1c9bca2e44675cb3199d1","scripts":{},"_npmUser":{"name":"axrxvm","email":"axrxvm@gmail.com"},"repository":{"url":"git+https://github.com/axrxvm/betterdiscordjs.git","type":"git"},"_npmVersion":"11.2.0","description":"A modern, modular and dev-friendly discord.js","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","dependencies":{"chalk":"^5.6.2","lowdb":"7.0.1","dotenv":"^17.2.2","node-cron":"^4.2.1","discord.js":"14.22.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/betterdiscordjs_1.0.0_1758096519196_0.22273956567738562","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@axrxvm/betterdiscordjs","version":"1.0.1","keywords":["betterdiscordjs","discord.js","discord","discord-bot","bots","better-discord.js"],"author":{"name":"Aarav Mehta"},"license":"MIT","_id":"@axrxvm/betterdiscordjs@1.0.1","maintainers":[{"name":"axrxvm","email":"axrxvm@gmail.com"}],"homepage":"https://github.com/axrxvm/betterdiscordjs#readme","bugs":{"url":"https://github.com/axrxvm/betterdiscordjs/issues"},"git":"https://github.com/axrxvm/betterdiscordjs.git","dist":{"shasum":"786bdafb5bb5c5cbf23972800ec52f44aa4ee540","tarball":"https://registry.npmjs.org/@axrxvm/betterdiscordjs/-/betterdiscordjs-1.0.1.tgz","fileCount":67,"integrity":"sha512-NbrJHdbfpakuUsLDa3K8eJ038w7vAO6Rrmp7SvdkL+xwCAFxHdm35rU2vsS/4kkmlyJ1NbWnvHOMqW6+ykjQ0Q==","signatures":[{"sig":"MEUCIQCTWQImj9orEjKShpaewoOhDrzC08xBgUkqoW6XSLA9bwIgWrbXtG9TdRNucgykfjGmUvAJnBAxChAK7tPSUiM9UY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638644},"main":"index.js","type":"commonjs","gitHead":"5538db64227c196f85e46188f87172b45c118e94","scripts":{},"_npmUser":{"name":"axrxvm","email":"axrxvm@gmail.com"},"repository":{"url":"git+https://github.com/axrxvm/betterdiscordjs.git","type":"git"},"_npmVersion":"11.2.0","description":"A modern, modular and dev-friendly discord.js","directories":{"doc":"docs"},"_nodeVersion":"22.14.0","dependencies":{"chalk":"^5.6.2","lowdb":"7.0.1","dotenv":"^17.2.2","node-cron":"^4.2.1","discord.js":"14.22.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/betterdiscordjs_1.0.1_1758183357502_0.2068725851066311","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@axrxvm/betterdiscordjs","version":"1.0.2","keywords":["betterdiscordjs","discord.js","discord","discord-bot","bots","better-discord.js"],"author":{"name":"Aarav Mehta"},"license":"MIT","_id":"@axrxvm/betterdiscordjs@1.0.2","maintainers":[{"name":"axrxvm","email":"axrxvm@gmail.com"}],"homepage":"https://github.com/axrxvm/betterdiscordjs#readme","bugs":{"url":"https://github.com/axrxvm/betterdiscordjs/issues"},"bin":{"betterdjs":"cli/index.js"},"git":"https://github.com/axrxvm/betterdiscordjs.git","dist":{"shasum":"49bedf1ad2cecfa313e12e97a415c87d60d80025","tarball":"https://registry.npmjs.org/@axrxvm/betterdiscordjs/-/betterdiscordjs-1.0.2.tgz","fileCount":74,"integrity":"sha512-+h3t6IUfbTfwQPK8lkXHkvpdmcnwt6HjPh/VaibzXF7X9yZdFx4z4/DOWUHpvfNz+UTO2s6RTBXuB8kznbj8zQ==","signatures":[{"sig":"MEUCIQD/anQem2zuKC3obPUYvvvF8fD37XDjRH667KedodOUMAIgUkqNCm/hm4FUd0IeohTWzxEr0cCierKRHuieHRm0FoE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":722253},"main":"index.js","type":"commonjs","gitHead":"cf564438445bca4ba0890b0f1362ea9a138b2004","scripts":{"cli":"node cli/index.js","test:cli":"node cli/index.js create test-bot --yes --no-install"},"_npmUser":{"name":"axrxvm","email":"axrxvm@gmail.com"},"repository":{"url":"git+https://github.com/axrxvm/betterdiscordjs.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, modular and dev-friendly discord.js","directories":{"doc":"docs"},"_nodeVersion":"22.21.0","dependencies":{"chalk":"^5.6.2","lowdb":"7.0.1","dotenv":"^17.2.2","node-cron":"^4.2.1","discord.js":"14.22.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/betterdiscordjs_1.0.2_1762432209629_0.3703758081796702","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@axrxvm/betterdiscordjs","version":"1.1.0","keywords":["betterdiscordjs","discord.js","discord","discord-bot","bots","better-discord.js"],"author":{"name":"Aarav Mehta"},"license":"MIT","_id":"@axrxvm/betterdiscordjs@1.1.0","maintainers":[{"name":"axrxvm","email":"axrxvm@gmail.com"}],"homepage":"https://github.com/axrxvm/betterdiscordjs#readme","bugs":{"url":"https://github.com/axrxvm/betterdiscordjs/issues"},"bin":{"betterdjs":"cli/index.js"},"git":"https://github.com/axrxvm/betterdiscordjs.git","dist":{"shasum":"9d9d26671783719a06641a4389fe0c5cfc8ca108","tarball":"https://registry.npmjs.org/@axrxvm/betterdiscordjs/-/betterdiscordjs-1.1.0.tgz","fileCount":149,"integrity":"sha512-2qqodx+7qYS+X4PnnYWUsuihkC9G/sN9/AT3QMpk5rs3THmYqmb6ePcnuBwkCc5P7P6Kkx4MmNHoy1y38zrcDQ==","signatures":[{"sig":"MEQCIC6DzAOWVJVpib8zVjlZ1aHfYOWWYKwePVqC66/BdbrWAiAjHOSNnoDfS7o/jsNteFIYA3lkcH0XPW43+/gOGdseJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":883357},"main":"index.js","type":"commonjs","types":"index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./esm/index.mjs","require":"./index.js"},"./Bot":{"types":"./Bot.d.ts","import":"./esm/Bot.mjs","require":"./Bot.js"},"./plugins":{"types":"./plugins/BasePlugin.d.ts","import":"./esm/plugins/BasePlugin.mjs","require":"./plugins/BasePlugin.js"},"./utils/*":{"types":"./utils/*.d.ts","import":"./esm/utils/*.mjs","require":"./utils/*.js"},"./plugins/*":{"types":"./plugins/*/index.d.ts","import":"./esm/plugins/*/index.mjs","require":"./plugins/*/index.js"},"./package.json":"./package.json"},"gitHead":"8600d5252f49472807257029a46de3294bbea6c3","scripts":{"cli":"node cli/index.js","build":"npm run build:types && npm run build:esm","test:cli":"node cli/index.js create test-bot --yes --no-install","build:esm":"node scripts/build-esm.js","typecheck":"tsc --noEmit","build:types":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"axrxvm","email":"axrxvm@gmail.com"},"repository":{"url":"git+https://github.com/axrxvm/betterdiscordjs.git","type":"git"},"_npmVersion":"10.9.4","description":"A modern, modular and dev-friendly discord.js","directories":{"doc":"docs"},"_nodeVersion":"22.21.0","dependencies":{"chalk":"^5.6.2","lowdb":"7.0.1","dotenv":"^17.2.2","node-cron":"^4.2.1","discord.js":"14.22.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","typescript":"^5.3.3","@types/node":"^20.10.0","@types/node-cron":"^3.0.11"},"_npmOperationalInternal":{"tmp":"tmp/betterdiscordjs_1.1.0_1762442819595_0.8193552923435754","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@axrxvm/betterdiscordjs","version":"1.1.1","description":"A modern, modular and dev-friendly discord.js","keywords":["betterdiscordjs","discord.js","discord","discord-bot","bots","better-discord.js"],"homepage":"https://github.com/axrxvm/betterdiscordjs#readme","bugs":{"url":"https://github.com/axrxvm/betterdiscordjs/issues"},"repository":{"type":"git","url":"git+https://github.com/axrxvm/betterdiscordjs.git"},"license":"MIT","author":{"name":"Aarav Mehta"},"type":"commonjs","main":"index.js","types":"index.d.ts","exports":{".":{"types":"./index.d.ts","require":"./index.js","import":"./esm/index.mjs"},"./Bot":{"types":"./Bot.d.ts","require":"./Bot.js","import":"./esm/Bot.mjs"},"./plugins":{"types":"./plugins/BasePlugin.d.ts","require":"./plugins/BasePlugin.js","import":"./esm/plugins/BasePlugin.mjs"},"./plugins/*":{"types":"./plugins/*/index.d.ts","require":"./plugins/*/index.js","import":"./esm/plugins/*/index.mjs"},"./utils/*":{"types":"./utils/*.d.ts","require":"./utils/*.js","import":"./esm/utils/*.mjs"},"./package.json":"./package.json"},"bin":{"betterdjs":"cli/index.js"},"directories":{"doc":"docs"},"scripts":{"build":"npm run build:types && npm run build:esm","build:types":"tsc","build:esm":"node scripts/build-esm.js","typecheck":"tsc --noEmit","cli":"node cli/index.js","test:cli":"node cli/index.js create test-bot --yes --no-install","prepublishOnly":"npm run build"},"dependencies":{"chalk":"^5.6.2","discord.js":"14.22.1","dotenv":"^17.2.2","lowdb":"7.0.1","node-cron":"^4.2.1"},"devDependencies":{"@types/node":"^20.10.0","@types/node-cron":"^3.0.11","typescript":"^5.3.3","tsup":"^8.0.1"},"git":"https://github.com/axrxvm/betterdiscordjs.git","_id":"@axrxvm/betterdiscordjs@1.1.1","gitHead":"856128afb088010b0e99980cba4d047bfc5c9192","_nodeVersion":"22.21.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-2AN0is95NcUOxoWVxE8yLB7Le7GczSYKrBvquBjXjs1xtnN64VS5SAACIDyBZI2DBFpFAVXQ4+e5fIOlHKlD0w==","shasum":"a3552194c1a4874f65b19f79f074e19ad89fe1de","tarball":"https://registry.npmjs.org/@axrxvm/betterdiscordjs/-/betterdiscordjs-1.1.1.tgz","fileCount":149,"unpackedSize":878120,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGioH5OUFrA9HnR+ugIAUY/tQwN7bItXMQMRzwyj46UfAiEA7G6I+XUtAQ26qkto7ngeBe/7oCvXkyKE/hmxb2ALPWY="}]},"_npmUser":{"name":"axrxvm","email":"axrxvm@gmail.com"},"maintainers":[{"name":"axrxvm","email":"axrxvm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/betterdiscordjs_1.1.1_1762447281304_0.2619012994611687"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-17T08:08:39.107Z","modified":"2025-11-06T16:41:21.692Z","1.0.0":"2025-09-17T08:08:39.421Z","1.0.1":"2025-09-18T08:15:57.733Z","1.0.2":"2025-11-06T12:30:09.908Z","1.1.0":"2025-11-06T15:26:59.817Z","1.1.1":"2025-11-06T16:41:21.520Z"},"bugs":{"url":"https://github.com/axrxvm/betterdiscordjs/issues"},"author":{"name":"Aarav Mehta"},"license":"MIT","homepage":"https://github.com/axrxvm/betterdiscordjs#readme","keywords":["betterdiscordjs","discord.js","discord","discord-bot","bots","better-discord.js"],"repository":{"type":"git","url":"git+https://github.com/axrxvm/betterdiscordjs.git"},"description":"A modern, modular and dev-friendly discord.js","maintainers":[{"name":"axrxvm","email":"axrxvm@gmail.com"}],"readme":"# betterdiscordjs\r\n\r\n[![npm version](https://badge.fury.io/js/betterdiscordjs.svg)](https://badge.fury.io/js/@axrxvm/betterdiscordjs)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![Discord.js](https://img.shields.io/badge/discord.js-v14.22.1-blue.svg)](https://discord.js.org/)\r\n[![Node.js](https://img.shields.io/badge/node-%3E%3D16.9.0-brightgreen.svg)](https://nodejs.org/)\r\n\r\nA modern, modular and dev-friendly discord.js\r\n\r\n## ✨ Features\r\n\r\n- 🚀 **CLI Tool** - Scaffold new projects with `npx @axrxvm/betterdiscordjs create`\r\n- 🎯 **Unified Commands** - Support for both slash and prefix commands\r\n- 🔧 **Enhanced Context** - 100+ methods covering the entire Discord.js API\r\n- 📦 **Plugin System** - Modular architecture with built-in plugins\r\n- ⚡ **Hot Reloading** - Development-friendly command and event reloading\r\n- 🛡️ **Built-in Security** - Rate limiting, permissions, and error handling\r\n- 📊 **Statistics & Logging** - Command tracking with beautiful colored logs\r\n- 🎨 **Rich Embeds** - Intuitive embed builder with fluent API\r\n- ⏰ **Task Scheduling** - Cron jobs and interval-based tasks\r\n- 📘 **TypeScript Support** - Full type definitions and ESM/CommonJS dual package\r\n- 🎯 **Modern ESM** - Native ES modules support alongside CommonJS\r\n- 🧩 **Modular Managers** - Separate CommandManager, EventManager, InteractionManager\r\n- 🔘 **Component Builders** - Fluent API for buttons, select menus, and modals\r\n- 🎭 **Interaction Handlers** - Built-in support for all Discord interaction types\r\n- 🔄 **Advanced Collectors** - Message, reaction, and component collectors\r\n- 📑 **Pagination** - Easy-to-use paginator for embeds\r\n- 🎪 **Modals & Dialogs** - Multi-step forms and user input\r\n- 🧵 **Thread Support** - Full thread management capabilities\r\n- 🪝 **Webhooks** - Create and manage webhooks easily\r\n- 🛠️ **Moderation Tools** - Kick, ban, timeout, bulk delete, and more\r\n\r\n## 🚀 Quick Start\r\n\r\n### Using the CLI (Recommended)\r\n\r\n```bash\r\nnpx @axrxvm/betterdiscordjs create my-bot\r\ncd my-bot\r\n# Configure .env with your bot token\r\nnpm start\r\n```\r\n\r\n### Manual Setup\r\n\r\n```bash\r\nnpm install @axrxvm/betterdiscordjs\r\n```\r\n\r\n```javascript\r\nconst { Bot } = require('@axrxvm/betterdiscordjs');\r\n\r\nconst bot = new Bot(process.env.DISCORD_TOKEN, {\r\n  prefix: '!',\r\n  commandsDir: './commands',\r\n  eventsDir: './events'\r\n});\r\n\r\n// Inline command\r\nbot.command('ping', async (ctx) => {\r\n  await ctx.reply('🏓 Pong!');\r\n});\r\n\r\n// Event handler\r\nbot.on('ready', (ctx) => {\r\n  console.log(`${ctx.user.tag} is ready!`);\r\n});\r\n\r\nbot.start();\r\n```\r\n\r\n### TypeScript Setup\r\n\r\n```typescript\r\nimport { Bot, BotConfig } from '@axrxvm/betterdiscordjs';\r\n\r\nconst config: BotConfig = {\r\n  token: process.env.DISCORD_TOKEN!,\r\n  prefix: '!',\r\n  commandsPath: './commands',\r\n  eventsPath: './events'\r\n};\r\n\r\nconst bot = new Bot(config);\r\n\r\nbot.command('ping', async (ctx) => {\r\n  await ctx.reply('🏓 Pong!');\r\n});\r\n\r\nawait bot.login();\r\n```\r\n\r\nSee [TYPESCRIPT.md](./TYPESCRIPT.md) for complete TypeScript documentation.\r\n\r\n## 📖 Documentation\r\n\r\n- 📚 [Full Documentation](./docs/README.md)\r\n- 📘 [TypeScript Guide](./TYPESCRIPT.md)\r\n- ⚡ [Enhanced Features & API](./docs/ENHANCED-FEATURES.md)\r\n- � [Quick Start Guide](./docs/getting-started/quick-start.md)\r\n- 🛠️ [CLI Tool](./docs/getting-started/cli.md)\r\n- 🔄 [Migration from Discord.js](./docs/getting-started/migration.md)\r\n- 🔌 [Plugin Development](./docs/plugins/creating-plugins.md)\r\n- 📋 [API Reference](./docs/api/bot.md)\r\n- 💡 [Examples](./docs/examples/)\r\n\r\n## 🏗️ Project Structure\r\n\r\n```\r\n├── Bot.js              # Main bot class\r\n├── index.js            # Framework entry point\r\n├── loaders/            # Command and event loaders\r\n├── plugins/            # Plugin system and built-in plugins\r\n├── utils/              # Utilities (cache, logger, scheduler, etc.)\r\n├── testbot/            # Example bot implementation\r\n└── docs/               # Comprehensive documentation\r\n```\r\n\r\n## 🔌 Plugin System\r\n\r\nbetterdiscordjs includes a powerful plugin system with built-in plugins:\r\n\r\n```javascript\r\nconst { Bot, plugins } = require('@axrxvm/betterdiscordjs');\r\n\r\nconst bot = new Bot(token)\r\n  .use(plugins.WelcomePlugin)\r\n  .use(plugins.ModerationPlugin)\r\n  .use(plugins.AutoModPlugin);\r\n\r\nbot.start();\r\n```\r\n\r\n## 🛠️ Requirements\r\n\r\n- Node.js 16.9.0 or higher\r\n- Discord.js v14.22.1\r\n- A Discord bot token\r\n\r\n## 📦 Installation\r\n\r\n### Using the Framework\r\n```bash\r\nnpm install @axrxvm/betterdiscordjs\r\n```\r\n\r\n### Development Setup\r\n```bash\r\ngit clone https://github.com/axrxvm/betterdiscordjs.git\r\ncd betterdiscordjs\r\n```\r\n\r\n## 🤝 Contributing\r\n\r\nWe welcome contributions! Please see our [Contributing Guidelines](./CONTRIBUTING.md).\r\n\r\n1. Fork the repository\r\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\r\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\r\n4. Push to the branch (`git push origin feature/amazing-feature`)\r\n5. Open a Pull Request\r\n\r\n## 📄 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## 🆘 Support\r\n\r\n- 📖 [Documentation](./docs/README.md)\r\n- 🐛 [Issues](https://github.com/axrxvm/betterdiscordjs/issues)\r\n- 💬 [Discussions](https://github.com/axrxvm/betterdiscordjs/discussions)\r\n\r\n## 🙏 Acknowledgments\r\n\r\n- Built on top of the powerful [discord.js](https://discord.js.org/)\r\n- Inspired by modern web frameworks\r\n- Made with ❤️ for the Discord developer community\r\n\r\n---\r\n\r\n**[⭐ Star this repo](https://github.com/axrxvm/betterdiscordjs) if you find it helpful!**\r\n\r\n\r\n","readmeFilename":"README.md"}