Skip to content

stegripe/rawon

Repository files navigation


CI Status

Rawon

A simple powerful Discord music 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
  • Run multiple bot instances for different voice channels
  • Smart audio pre-caching for smoother playback
  • Support for YouTube, Spotify, and SoundCloud
  • Multi-cookie rotation for uninterrupted playback

Installation

Standard Setup (Node.js)

  1. Download and install Node.js version 22.12.0 or higher
  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. Create a docker-compose.yaml file:
services:
  rawon:
    image: ghcr.io/stegripe/rawon:latest
    container_name: rawon-bot
    restart: unless-stopped
    env_file: .env
    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 \
  -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 files for YouTube authentication (see Cookies Setup)

Configuration Files

  • .env.example - Essential settings (Discord token, prefix, Spotify, etc.)
  • optional.env.example - Optional customization (colors, emojis, activities)
  • dev.env.example - Developer settings (debug mode, dev IDs)

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 cookies command:

!cookies add 1    # Attach your cookies.txt file
!cookies list     # Check cookie status
!cookies reset    # Reset failed status

Support & Questions

For help and questions, join our official Discord Server.

Contributors

Developers

Translators

© 2026 Stegripe Development

About

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

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Languages