A simple powerful Discord music (multi-)bot built to fulfill your production desires. Easy to use, with no coding required.
Last updated Jul 8, 2026
1.5k
Stars
1.6k
Forks
3
Issues
+1
Stars/day
Attention Score
91
Language breakdown
TypeScript 98.4%
JavaScript 1.4%
Dockerfile 0.2%
โธ Files
click to expand
README
Rawon
A simple powerful Discord music (multi-)bot built to fulfill your production desires. Easy to use, with no coding required.
Features
- Production-ready, no coding required
- Request channel feature for seamless music experience
- Support for YouTube Music, Spotify, SoundCloud, and direct files
- Run multiple bot instances for different voice channels
- Smart audio pre-caching for smoother playback
- Built-in Google login via Puppeteer for cookie management
Installation
Prerequisites
Note: Docker users don't need to install FFmpeg manually โ it's included in the Docker image.
Standard Setup (Node.js)
- Download and install the prerequisites above
- Clone or download this repository
- Copy
.env.exampleto.envand fill in the required values.DISCORDTOKENis required to start;STEGRIPEAPILICENSEKEYis required for licensed features. - Install dependencies:
pnpm install
- Build the project:
pnpm run build
- Start the bot:
pnpm start
- (Optional) After the bot is online, set up a dedicated music channel:
<prefix>requestchannel <#channel>
Example: !requestchannel #music-requests
Docker Setup (Recommended)
Using Docker Compose
- Create a
.envfile with your configuration (copy from.env.example) - Create
dev.envfromdev.env.example, or remove thedev.envline fromenv_file - Create a
docker-compose.yamlfile:
services:
rawon:
image: ghcr.io/stegripe/rawon:latest
container_name: rawon-bot
restart: unless-stopped
env_file:
- .env
- dev.env
ports:
- "${DEVTOOLSPORT:-3000}:${DEVTOOLSPORT:-3000}"
volumes:
- rawon:/app/cache
volumes: rawon:
- Start the bot:
docker compose up -d - View logs:
docker logs -f rawon-bot
Using Docker Run
docker run -d \
--name rawon-bot \
--env-file .env \
-p "${DEVTOOLSPORT:-3000}:${DEVTOOLSPORT:-3000}" \
-v rawon:/app/cache \
--restart unless-stopped \
ghcr.io/stegripe/rawon:latest
Volume Information
The/app/cache volume stores:
yt-dlpbinary for audio streamingdata.*for persistent settings (request channels, player states)- Cached audio files (if audio caching is enabled)
- Cookie file and profile data from Google login (see Cookies Setup)
Port Information
TheDEVTOOLSPORT (default: 3000) is used for Chrome DevTools remote debugging proxy. This is required for !login start to work from a remote machine. Set DEVTOOLSPORT in your dev.env file to use a different port.
Configuration Files
.env.example- Essential settings (Discord/Spotify token, prefix, IDs, etc.)dev.env.example- Optional developer settings (prefix/slash toggles, sharding, DevTools, debug mode, etc.)- Bot-specific settings (embed color, yes/no emoji, splash, alt prefix, default volume, selection type, audio cache) are managed via the
setupcommand (developer-only) and stored in the database. Usesetup viewto list available settings.
Rawon License
Some features require an approved STEGRIPEAPILICENSE_KEY.
- Start the bot once.
- Copy the Bot ID from the license warning.
- Join stegripe.org/discord.
- Send the Bot ID to Stegripe staff for review.
- After approval, set
STEGRIPEAPILICENSE_KEYin.env. - Restart the bot.
Multi-Bot Mode
Multi-bot mode is adaptive - no extra configuration needed!
- Single token = Single bot mode
- Multiple tokens (comma-separated) = Multi-bot mode automatically enabled
DISCORD_TOKEN="token1, token2, token3"
Features:
- The first (order) token becomes the primary bot for general commands
- Each bot handles music commands for users in its voice channel
- Adaptive ordering - if the primary bot is not in a server, the next available bot takes over
- Each bot requires its own Discord application
- Each bot ID that needs license access must be approved for the same
STEGRIPEAPILICENSE_KEY; unapproved bot IDs stay online but will not handle license-gated actions
Documentation
- Disclaimers - Important legal information
- Cookies Setup - Fix "Sign in to confirm you're not a bot" errors on hosting providers
Common Issues
"Sign in to confirm you're not a bot" errors?
If you're hosting on cloud providers (AWS, GCP, Azure, Railway, etc.), you may encounter bot detection errors. See Cookies Setup for the solution.
Quick fix using the login command:
!login start # Opens a browser for Google login !login status # Check current login & cookie status !login logout # Clear the login session (wipes all cookies and profile data)
Support & Questions
For help and questions, join our official Discord Server.Contributors
Developers
Translators
- Stegripe Developers (en-US, id-ID, ko-KR, ms-MY)
- @21Z (en-US)
- @lxndr-rl (es-ES)
- @MoustacheOff (fr-FR)
- @RabbitYuKu (zh-CN, zh-TW)
- @RomaDevWorld (uk-UA)
- @hmz121 (vi-VN)
- @melloirl (pt-BR)
- @Ronner231 (ru-RU)
- @Fyphen1223 (ja-JP)
- @OsmanTunahan (tr-TR)
ยฉ 2026 Stegripe Development
๐ More in this category