About this project

Egg Shen Bot is a feature-rich, self-hostable Discord bot focused on entertainment discovery and community activities. It searches across seven media types — movies, TV shows, episodes, video games, board games and books — returning rich embeds with synopses and ratings aggregated from multiple sources, and links to each service's page for the media. Named rating/link sources include IMDb, Letterboxd, Trakt, Rotten Tomatoes and JustWatch, with streaming availability handled through TMDB and Watchmode integration. Beyond search, the bot offers a tournament bracket system supporting group stages of 4–12 groups, wildcards and single-elimination knockout rounds. Watch party tooling includes timers, watch history tracking and server statistics, plus an announce command. Social features include interactive polls, soundtrack search, a "magic potion" command and optional AI image generation. An optional Event Requests feature lets community members submit watch party requests through a web form using Discord OAuth; moderators approve or deny them, and approved events are created as Discord Scheduled Events. Server management covers configurable permissions, toggling rating services, region preferences and custom emojis via a configuration command, alongside moderation commands for restart and statistics. The project documents built-in rate limiting as cost protection, notifications/reminders, and usage statistics. Deployment is self-hosted: each instance is independent, using its own Discord application, its own server and its own local data files for settings, timers and tournaments, with no shared backend or central account. Requirements are Node.js 20 or higher, a Discord bot token and a TMDB API key, with optional keys for Watchmode, OMDb, Trakt, RAWG, Google Books and OpenAI. Setup involves cloning the repository, installing dependencies, configuring a .env file, deploying slash commands and starting the bot. The codebase is organized for extension under src/commands, src/services, src/utils, public (event request web form) and docs (VitePress documentation), and is released under the MIT License.