// the find
stegripe/rawon
A simple powerful Discord music (multi-)bot built to fulfill your production desires. Easy to use, with no coding required.
Rawon is a self-hosted Discord music bot written in TypeScript that supports YouTube, Spotify, SoundCloud, and direct file playback. It handles multi-bot mode (multiple tokens, each owning its own voice channel) and includes audio pre-caching. Target audience is server admins who want to run their own music bot rather than rely on a hosted service.
Multi-bot coordination is genuinely well thought out — comma-separate tokens and the launcher handles primary/fallback logic automatically, no extra config. Audio pre-caching via AudioCacheManager reduces the stuttering that plagues most self-hosted music bots. Docker image ships with FFmpeg and yt-dlp bundled, so the 'works on my machine' setup pain is largely solved. i18n coverage is real: 14 languages with separate JSON files and a proper i18n utility, not just a few strings.
The Google login via Puppeteer approach for bypassing YouTube bot detection is a fragile hack — it's launching a full Chromium instance to manage cookies, which breaks silently whenever Google changes its login flow, and exposes a Chrome DevTools remote debugging port that has real security implications if misconfigured. The CC BY-NC-ND 4.0 license is unusually restrictive for what presents itself as a self-hostable open-source tool — no derivatives means you can't fork and customize it, which conflicts with the whole point of running your own instance. SQLite for persistent state (request channels, player state) is fine at small scale but will cause problems if you run multiple bot instances pointing at the same storage. No test suite visible in the repo — a music bot has a lot of stateful edge cases (disconnects mid-queue, voice channel permissions changing, rate limits) that are hard to debug without some automated coverage.