{"id":25762421,"url":"https://github.com/grishmahat/norybot","last_synced_at":"2026-05-01T12:31:27.776Z","repository":{"id":314230680,"uuid":"770907086","full_name":"GrishMahat/NoryBot","owner":"GrishMahat","description":"NoryBot","archived":false,"fork":false,"pushed_at":"2025-12-16T03:57:31.000Z","size":4996,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-19T14:35:43.541Z","etag":null,"topics":["bot","discord","discord-bot","discord-js"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GrishMahat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-12T11:22:02.000Z","updated_at":"2025-12-16T03:57:31.000Z","dependencies_parsed_at":"2025-09-11T10:43:59.450Z","dependency_job_id":"21a95fbc-5273-4c8c-aeb4-007800ac19ce","html_url":"https://github.com/GrishMahat/NoryBot","commit_stats":null,"previous_names":["grishmahat/norybot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GrishMahat/NoryBot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrishMahat%2FNoryBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrishMahat%2FNoryBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrishMahat%2FNoryBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrishMahat%2FNoryBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GrishMahat","download_url":"https://codeload.github.com/GrishMahat/NoryBot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrishMahat%2FNoryBot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32497810,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","discord","discord-bot","discord-js"],"created_at":"2025-02-26T19:52:59.874Z","updated_at":"2026-05-01T12:31:27.768Z","avatar_url":"https://github.com/GrishMahat.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NoryBot\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![Discord.js](https://img.shields.io/badge/Discord.js-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white)](https://discord.js.org/)\n[![MongoDB](https://img.shields.io/badge/MongoDB-47A248?style=for-the-badge\u0026logo=mongodb\u0026logoColor=white)](https://www.mongodb.com/)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)\n\nA powerful Discord bot built with Discord.js v14, TypeScript, and MongoDB, featuring a modern and scalable architecture.\n\n## 📚 Documentation\n\nWe have comprehensive documentation available to help you get started:\n\n### Basics\n-   **[Getting Started](./docs/getting-started.md)**: Installation, setup, and running the bot.\n-   **[Architecture Overview](./docs/architecture.md)**: Understand the tech stack and design decisions.\n\n### Developer Guides\n-   **[Creating Commands](./docs/guides/creating-commands.md)**: Slash commands, validation, and options.\n-   **[Context Menus](./docs/guides/context-menus.md)**: Right-click commands on Users and Messages.\n-   **[Components](./docs/guides/components.md)**: Buttons, Select Menus, Modals, and the Component Manager.\n-   **[Events](./docs/guides/events.md)**: Handling Discord events (Ready, MessageCreate, etc.).\n-   **[Database \u0026 Data Services](./docs/guides/database-and-services.md)**: MongoDB, Models, and the Service pattern.\n-   **[Core Services](./docs/guides/core-services.md)**: Managers, Registration, and Error Handling.\n\n## ✨ Features\n\n- **Custom Image Generation** - Dynamic image generation capabilities\n- **MongoDB Integration** - Robust database integration for data persistence\n- **TypeScript Support** - Full TypeScript support for better development experience\n- **Modern Architecture** - Built with the latest Discord.js v14 features\n\n## 🔧 Prerequisites\n\nBefore you begin, ensure you have the following installed:\n\n- [Bun](https://bun.sh/) package manager\n- [MongoDB](https://www.mongodb.com/) database\n- [Discord Bot Token](https://discord.com/developers/applications)\n\n## 🚀 Quick Start\n\n1. **Clone the repository**\n```bash\ngit clone https://github.com/yourusername/NoryBot.git\ncd NoryBot\n```\n\n2. **Install dependencies**\n```bash\nbun install\n```\n\n3. **Set up environment variables**\n   - Copy `.env.example` to `.env`\n   - Fill in your configuration details\n```bash\ncp .env.example .env\n```\n\n4. **Build and start the bot**\n```bash\nbun start\n```\n\n## 📝 Available Scripts\n\n| Command | Description |\n|---|---|\n| `bun start` | Build the bot and start it from the executable |\n| `bun start:exec` | Start the bot from the executable |\n| `bun dev` | Start in development mode with hot reload |\n| `bun build` | Compile TypeScript to a single executable |\n| `bun test` | Run the test suite |\n\n## 🔒 Environment Variables\n\n| Variable | Description | Required |\n|----------|-------------|----------|\n| `TOKEN` | Discord bot token | Yes |\n| `MONGODB_TOKEN` | MongoDB connection URI | Yes |\n| `NODE_ENV` | Environment (development/production) | Yes |\n| `ERROR_WEBHOOK` | Discord webhook for error logging | Yes |\n\n## 🛡️ Security\n\nWe take security seriously. Please review our [Security Policy](SECURITY.md) for details.\n\n## 🤝 Contributing\n\nContributions are welcome! Please check out our [Contributing Guidelines](CONTRIBUTING.md).\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## 🙏 Acknowledgments\n\n- [Discord.js](https://discord.js.org/) for the amazing Discord API library\n- [TypeScript](https://www.typescriptlang.org/) for the type safety\n- [MongoDB](https://www.mongodb.com/) for the database solution","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrishmahat%2Fnorybot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrishmahat%2Fnorybot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrishmahat%2Fnorybot/lists"}