A powerful Discord bot for anime and manga enthusiasts! Get instant information about your favorite anime, manga, characters, and more.
⚠️ Alpha Version: This project was created in just a few hours and is currently in alpha. Expect frequent updates and improvements!
➡️ https://animelens.thelooped.tech/
Currently, it provides:
- Overview of the bot
- Quick invite access
- Basic command showcase
More functionality (dashboards, analytics, user stats, preferences) will be added in future iterations.
- Bun (latest version recommended)
- A Discord bot token from Discord Developer Portal
-
Clone the repository
git clone https://github.com/nonlooped/animelens.git cd animelens -
Install dependencies
bun install
-
Configure environment variables
Locale the
.env.examplefile and rename it to.env. Then, fill in your Discord bot token and other configurations. Keep in mind some are optional for now. -
Build and run
# Development mode (with hot reload) bun run dev # Production mode bun run build bun run start
Support AnimeLens by voting for it on these bot listing sites:
AnimeLens is built with a modular architecture to ensure scalability and maintainability:
- Core Classes: Located in
src/classes/, these provide the foundation for commands, events, and client interactions. - Commands: Organized in
src/commands/by category (anime, manga, misc), each command extends the baseCommandclass. - Events: Handled in
src/events/, managing Discord interactions and bot lifecycle. - Utilities: Helper functions and loaders in
src/util/for registration and embedding. - Types: TypeScript definitions in
src/interfaces/for API responses and data structures.
The bot uses the Jikan API (unofficial MyAnimeList API) for fetching anime and manga data, and AnimeThemes API for theme songs.
- Bun: Fast JavaScript runtime and package manager
- TypeScript: Type-safe JavaScript with modern features
- Discord.js v14: Powerful Discord API wrapper
- @discordx/pagination: Interactive pagination for Discord
Contributions are welcome! This is an alpha project, so there are plenty of opportunities to improve:
- Add more anime/manga features
- Improve error handling
- Add more interactive elements
- Enhance the UI/embeds
- Add localization support
- Implement caching for better performance
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test thoroughly
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Q: How do I get a Discord bot token?
A: Visit the Discord Developer Portal, create a new application, and generate a bot token under the "Bot" section.
Q: The bot isn't responding to commands. What should I do?
A: 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.
Q: Can I run this bot on my own server?
A: Yes! Follow the installation steps above. Note that you'll need to host it on a server that keeps the process running.
Q: Is there a limit to API requests?
A: The bot uses the Jikan API & AnimeThemes API, which both have rate limits. In the future we will be implementing better caching and rate limit handling.
This project is licensed under the MIT License - see the LICENSE file for details.
- MyAnimeList for providing the anime/manga database
- Jikan API for the excellent REST API
- AnimeThemes API for the theme song database
- Discord.js community for the amazing library
- Bun team for the fast runtime
- GitHub Issues: Report bugs or request features
- Discord: Join our community server (coming soon!)
Made with ❤️ for anime fans, by anime fans
This project is not affiliated with MyAnimeList, AnimeThemes, Jikan, or any anime streaming services.
