Enterprise-grade Discord bot for anime enthusiasts with AniList/MAL integration, AI-powered Polish translations, and intelligent caching.

Anime search with automatic Polish translation and character information

Automated daily notifications for today's airing anime

Automatic translation cron job with batch processing

Cache statistics showing priority distribution and job status
AG Anime Bot is a feature-rich Discord bot built for the AnimeGate Polish anime community, providing seamless access to anime information from multiple sources. The bot integrates with both AniList and MyAnimeList APIs, offering comprehensive anime data with automatic Polish translations powered by OpenAI.
Built with NestJS and following enterprise architecture patterns, the bot features an intelligent priority-based caching system that learns from usage metrics to optimize response times. It includes sophisticated rate limiting across multiple levels (user, channel, guild, global) and a batch translation service that reduces translation costs by 50% using OpenAI Batch API.
The bot provides daily automated notifications for airing anime schedules, administrative tools for bulk pre-caching entire seasons or years, and detailed cache statistics. The monorepo structure with pnpm and Turbo allows for shared UI components and future web dashboard integration, while Docker deployment ensures easy scalability and reliability.
AG Anime Bot follows NestJS enterprise architecture with dependency injection, modular design, and clear separation of concerns. The bot uses Necord for type-safe Discord.js integration, with commands organized into user and admin modules. Services handle external API interactions with circuit breaker patterns and rate limiting. The database layer uses Prisma ORM with PostgreSQL for reliable data persistence and caching. The monorepo structure (pnpm + Turbo) enables code sharing between the bot and future web dashboard, with shared UI components and TypeScript configurations.
Solution: Implemented OpenAI Batch API for bulk translations, reducing costs by 50%. Created intelligent priority system that translates frequently requested anime in real-time while batching less popular titles for overnight processing
Solution: Built circuit breaker pattern with configurable concurrency limits and retry logic. AniList allows 3 concurrent requests, Jikan requires 1-second intervals. Implemented intelligent fallback between APIs when one is unavailable
Solution: Developed admin commands with progress tracking and job statistics. Sequential processing with automatic pagination handles thousands of anime entries without overwhelming APIs. Estimated 1-3 hours per year with detailed progress updates
Solution: Created priority-based system (1-5) that tracks search metrics and automatically promotes frequently requested anime. Cache prioritizes popular titles for instant responses while maintaining a 24-hour TTL for less popular entries
Matmajka connects parents and students with private tutor Maja that help with math, physics, and chemistry.
Professional car detailing and furniture cleaning service website offering comprehensive cleaning solutions with modern Polish interface.
Professional electrical and construction services company website showcasing comprehensive solutions with modern Polish interface.