{"id":30947647,"url":"https://github.com/unloopedmido/animelens","last_synced_at":"2026-04-11T04:32:10.421Z","repository":{"id":313608992,"uuid":"1052014755","full_name":"unloopedmido/animelens","owner":"unloopedmido","description":"A powerful Discord bot for anime and manga enthusiasts! Get instant information about your favorite anime, manga, characters, and more.","archived":false,"fork":false,"pushed_at":"2025-09-24T13:23:07.000Z","size":6114,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-24T15:16:13.538Z","etag":null,"topics":["anime","bun","discord","discord-bot","discord-js","jikan-api","manga","myanimelist","nodejs","typescript"],"latest_commit_sha":null,"homepage":"https://animelens.thelooped.tech/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unloopedmido.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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},"funding":{"github":"unloopedmido","patreon":"coredinc","custom":["https://www.paypal.com/paypalme/unlooped"]}},"created_at":"2025-09-07T08:06:10.000Z","updated_at":"2025-09-24T13:23:11.000Z","dependencies_parsed_at":"2025-09-07T10:08:03.325Z","dependency_job_id":"f7096c35-7d77-48fb-9ebf-efcf07adff24","html_url":"https://github.com/unloopedmido/animelens","commit_stats":null,"previous_names":["unloopedmido/animelens"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/unloopedmido/animelens","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unloopedmido%2Fanimelens","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unloopedmido%2Fanimelens/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unloopedmido%2Fanimelens/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unloopedmido%2Fanimelens/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unloopedmido","download_url":"https://codeload.github.com/unloopedmido/animelens/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unloopedmido%2Fanimelens/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31669114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"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":["anime","bun","discord","discord-bot","discord-js","jikan-api","manga","myanimelist","nodejs","typescript"],"created_at":"2025-09-11T02:00:41.872Z","updated_at":"2026-04-11T04:32:10.407Z","avatar_url":"https://github.com/unloopedmido.png","language":"TypeScript","funding_links":["https://github.com/sponsors/unloopedmido","https://patreon.com/coredinc","https://www.paypal.com/paypalme/unlooped"],"categories":[],"sub_categories":[],"readme":"# 👁️ AnimeLens\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript\u0026logoColor=white)](https://www.typescript.org/)\n[![Bun](https://img.shields.io/badge/Bun-000?logo=bun\u0026logoColor=fff)](https://bun.sh/)\n[![Discord.js](https://img.shields.io/badge/Discord.js-5865F2?logo=discord\u0026logoColor=white)](https://discord.js.org/)\n\n\u003ca href=\"https://animelens.thelooped.tech/\"\u003e\u003cimg src=\".github/BANNER.png\" alt=\"AnimeLens Banner\" width=\"600\"\u003e\u003c/a\u003e\n\nA powerful Discord bot for anime and manga enthusiasts! Get instant information about your favorite anime, manga, characters, and more.\n\n\u003e **⚠️ Alpha Version**: This project was created in just a few hours and is currently in alpha. Expect frequent updates and improvements!\n\n## 🌐 Website\n\n➡️ https://animelens.thelooped.tech/\n\nCurrently, it provides:\n\n- Overview of the bot\n- Quick invite access\n- Basic command showcase\n\nMore functionality (dashboards, analytics, user stats, preferences) will be added in future iterations.\n\n## 🚀 Installation\n\n### Prerequisites\n\n- [Bun](https://bun.sh/) (latest version recommended)\n- A Discord bot token from [Discord Developer Portal](https://discord.com/developers/applications)\n\n### Setup\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/unloopedmido/animelens.git\n   cd animelens\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   bun install\n   ```\n\n3. **Configure environment variables**\n\n   Locale the `.env.example` file and rename it to `.env`. Then, fill in your Discord bot token and other configurations. Keep in mind some are optional for now.\n\n4. **Build and run**\n\n   ```bash\n   # Development mode (with hot reload)\n   bun run dev\n\n   # Production mode\n   bun run build\n   bun run start\n   ```\n\n## 🗳️ Voting\n\nSupport AnimeLens by voting for it on these bot listing sites:\n\n- [Top.gg](https://top.gg/bot/1386365602167390289)\n- [Discord Bot List](https://discordbotlist.com/bots/animelens)\n- [Botlist.me](https://botlist.me/bots/1386365602167390289)\n\n## 🏗️ Architecture\n\nAnimeLens is built with a modular architecture to ensure scalability and maintainability:\n\n- **Core Classes**: Located in `src/classes/`, these provide the foundation for commands, events, and client interactions.\n- **Commands**: Organized in `src/commands/` by category (anime, manga, misc), each command extends the base `Command` class.\n- **Events**: Handled in `src/events/`, managing Discord interactions and bot lifecycle.\n- **Utilities**: Helper functions and loaders in `src/util/` for registration and embedding.\n- **Types**: TypeScript definitions in `src/interfaces/` for API responses and data structures.\n\nThe bot uses the Jikan API (unofficial MyAnimeList API) for fetching anime and manga data, and AnimeThemes API for theme songs.\n\n## 🛠️ Development\n\n### Key Technologies\n\n- **Bun**: Fast JavaScript runtime and package manager\n- **TypeScript**: Type-safe JavaScript with modern features\n- **Discord.js v14**: Powerful Discord API wrapper\n- **@discordx/pagination**: Interactive pagination for Discord\n\n## 🤝 Contributing\n\nContributions are welcome! This is an alpha project, so there are plenty of opportunities to improve:\n\n- Add more anime/manga features\n- Improve error handling\n- Add more interactive elements\n- Enhance the UI/embeds\n- Add localization support\n- Implement caching for better performance\n\n### Development Workflow\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/amazing-feature`\n3. Make your changes and test thoroughly\n4. Commit your changes: `git commit -m 'Add amazing feature'`\n5. Push to the branch: `git push origin feature/amazing-feature`\n6. Open a Pull Request\n\n## ❓ FAQ\n\n**Q: How do I get a Discord bot token?**  \nA: Visit the [Discord Developer Portal](https://discord.com/developers/applications), create a new application, and generate a bot token under the \"Bot\" section.\n\n**Q: The bot isn't responding to commands. What should I do?**  \nA: Ensure the bot has the necessary permissions in your server and that the token is correctly set in the `.env` file. Check the console for any error messages.\n\n**Q: Can I run this bot on my own server?**  \nA: Yes! Follow the installation steps above. Note that you'll need to host it on a server that keeps the process running.\n\n**Q: Is there a limit to API requests?**  \nA: The bot uses the Jikan API \u0026 AnimeThemes API, which both have rate limits. In the future we will be implementing better caching and rate limit handling.\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- **MyAnimeList** for providing the anime/manga database\n- **Jikan API** for the excellent REST API\n- **AnimeThemes API** for the theme song database\n- **Discord.js** community for the amazing library\n- **Bun** team for the fast runtime\n\n## 📞 Support\n\n- **GitHub Issues**: [Report bugs or request features](https://github.com/unloopedmido/animelens/issues)\n- **Discord**: Join our community server (coming soon!)\n\n---\n\n**Made with ❤️ for anime fans, by anime fans**\n\n_This project is not affiliated with MyAnimeList, AnimeThemes, Jikan, or any anime streaming services._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funloopedmido%2Fanimelens","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funloopedmido%2Fanimelens","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funloopedmido%2Fanimelens/lists"}