// the find
eritislami/evobot
🤖 EvoBot is a Discord Music Bot built with TypeScript + Discord.js, includes Docker builds & localization in 20+ languages
EvoBot is a self-hosted Discord music bot that streams from YouTube, with slash commands, a queue system, and i18n support across 27 languages. It's aimed at developers who want to run their own music bot rather than rely on a third-party service — especially after Rythm and Groovy got shut down. The Docker setup makes deployment straightforward.
1. Localization is genuinely thorough — 27 locale files, ISO 639-1 codes, community-contributed, which is rare for a hobby bot project. 2. Docker support is first-class, with environment variable configuration that works cleanly in container deployments. 3. The command structure is clean and flat — one file per command under /commands, easy to read and extend without untangling a framework. 4. CI covers both Node builds and Docker image builds, and dependabot is configured, so dependencies aren't completely stagnant.
1. YouTube playback depends on youtube-dl or yt-dlp under the hood via ytdl-core, which breaks regularly as YouTube changes its internals — last push was September 2024 and there's a good chance playback is already broken or soon will be. 2. No support for Spotify, SoundCloud, or any non-YouTube source; if that's your use case you're out of luck or rewriting the Song struct yourself. 3. Flat command files with no dependency injection or testability — there are zero tests in the repo, so any refactor is done on faith. 4. Token and config live in a plain JSON file checked into the working directory; the Docker env var escape hatch works, but local dev invites accidental secret commits despite the warning.