Skip to content
/ rawon Public

A simple powerful Discord music (multi-)bot built to fulfill your production desires. Easy to use, with no coding required.

License

Notifications You must be signed in to change notification settings

stegripe/rawon

Repository files navigation


CI Status

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, 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

  • Node.js version 20.0.0 or higher
  • Deno runtime (required by yt-dlp for signature solving)
  • FFmpeg for audio processing

Note: Docker users don't need to install Deno or FFmpeg manually — they're included in the Docker image.

Standard Setup (Node.js)

  1. Download and install the prerequisites above
  2. Clone or download this repository
  3. Copy .env.example to .env and fill in the required values (at minimum: DISCORD_TOKEN)
  4. Install dependencies:
pnpm install
  1. Build the project:
pnpm run build
  1. Start the bot:
pnpm start
  1. (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

  1. Create a .env file with your configuration (copy from .env.example)
  2. (Optional) Create dev.env for additional settings
  3. Create a docker-compose.yaml file:
services:
  rawon:
    image: ghcr.io/stegripe/rawon:latest
    container_name: rawon-bot
    restart: unless-stopped
    env_file:
      - .env
      - dev.env
    ports:
      - "${DEVTOOLS_PORT:-3000}:${DEVTOOLS_PORT:-3000}"
    volumes:
      - rawon:/app/cache

volumes:
  rawon:
  1. Start the bot:
docker compose up -d
  1. View logs:
docker logs -f rawon-bot

Using Docker Run

docker run -d \
  --name rawon-bot \
  --env-file .env \
  -p "${DEVTOOLS_PORT:-3000}:${DEVTOOLS_PORT:-3000}" \
  -v rawon:/app/cache \
  --restart unless-stopped \
  ghcr.io/stegripe/rawon:latest

Volume Information

The /app/cache volume stores:

  • yt-dlp binary for audio streaming
  • data.* 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

The DEVTOOLS_PORT (default: 3000) is used for Chrome DevTools remote debugging proxy. This is required for !login start to work from a remote machine. Set DEVTOOLS_PORT 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 and/or developer customization/settings (colors, interactions, debug mode, etc.)

Use the ones you need/should and fill in the values.

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

Example for multi-bot:

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

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

© 2026 Stegripe Development

About

A simple powerful Discord music (multi-)bot built to fulfill your production desires. Easy to use, with no coding required.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors 32