DJ
Snake

A self-hosted Discord music bot. It plays YouTube or Spotify links in your voice channel and serves a live clip page where the video stays in sync with the audio.

Animation: the bot joins a Discord voice channel and posts the clip link, then the clip page plays the video in sync with a drag-and-drop queue and a seek bar.

What you get

  • Paste a Spotify playlist

    Send a Spotify playlist, album or track link. DJ Snake reads the track list, finds each song on YouTube (the official music video first, no live, cover or remix versions) and skips what it cannot find. Nothing is downloaded from Spotify and no account is needed.

  • Live clip page

    Every server gets a link with the muted video of the current track, synced with the voice audio, and a queue anyone with the link can control.

  • Automix

    Off-topic segments cut with SponsorBlock, loudness normalised to -14 LUFS, silences trimmed, smooth fades. Optional crossfade between tracks.

  • Web controls

    Pause, seek, jump to a track, drag to reorder, remove, or paste a YouTube or Spotify link to add it, right from the clip page.

  • One queue per server

    Independent queues, playlists and radio links, with previous, seek, jump, reorder and remove from Discord or from the page.

  • One live status message

    A single panel edited in place instead of a channel full of announcements. Commands answer with a reaction.

  • Self-hosted, low upkeep

    Docker Compose with a PO token sidecar. yt-dlp upgrades itself on start, and it keeps working when YouTube changes. The page is themable, too.

Self-host it in 3 commands

# create a Discord bot, enable the Message Content intent, then:
$ git clone https://github.com/Theroxat/DJ_Snake.git && cd DJ_Snake
$ cp .env.example .env   # set DISCORD_TOKEN
$ docker compose pull && docker compose up -d

Then join a voice channel and send !play <YouTube or Spotify link>. Full setup, configuration and troubleshooting are in the README.