DJ Snake
MIT licenceDockerEN · FR · ES · DE

Your own DJ in the voice channel.

Paste a link or type a song name and DJ Snake plays it for everyone in the room. YouTube, Spotify, SoundCloud, Bandcamp, Deezer and Apple Music all work, and a clip page follows along with the video and the lyrics.

Prebuilt image or build from source. You bring your own bot token.

Tracklist

What plays, and how

Nine things the bot does once it is in your channel.

  1. Six sources

    Drop a YouTube link or playlist, a SoundCloud or Bandcamp track or set, or a Spotify, Deezer or Apple Music link. Plain text works too: the bot picks the best YouTube match.

  2. No keys, no accounts

    A Spotify playlist, album or track is resolved song by song on YouTube, with a preference for the official video. Deezer and Apple Music take the same path. You never create a Spotify account or an API key.

  3. The clip page

    Open it next to Discord: a muted video stays in sync with the audio, and the page has the controls. Next, previous, pause, seek, jump, remove, reorder, add, shuffle and loop.

  4. Lyrics that follow

    Lines scroll over the clip as the track plays, fetched from LRCLIB, which is free and needs no key. One variable switches them off.

  5. Automix

    Always on. Off-topic segments are cut with SponsorBlock, loudness is normalised to -14 LUFS, silence is trimmed and tracks fade in and out. Crossfade is optional.

  6. Audio filters

    Bass boost, nightcore, vaporwave, 8D, karaoke, soft, or a 3-band equaliser. Switch while a track is playing and it does not restart.

  7. One queue per server

    Loop a track or the queue, shuffle, let autoplay add related tracks, keep a 24/7 mode that survives restarts, save playlists, vote to skip and hand out a DJ role.

  8. Live streams

    YouTube lives, Twitch channels and internet radios (Icecast, Shoutcast, .pls, .m3u) play as they come, with a LIVE badge.

  9. Four languages

    The bot and the page speak English, French, Spanish and German. The clip page has eight looks and installs as an app.

Every command exists twice, as a ! command and as a slash command: /play, /playlist save and the rest.

Install

From zero to music in four steps

Docker with the compose plugin and a Discord application of your own are all it takes.

  1. Make the bot

    In the Discord Developer Portal, create an application and add a bot. Under Bot, switch on the Message Content Intent, the only privileged intent it needs.

  2. Invite it

    Use the bot and applications.commands scopes, with View Channels, Send Messages, Read Message History, Add Reactions, Connect and Speak.

  3. Start it

    git clone https://github.com/selfhostr/djsnake.git
    cd djsnake
    cp .env.example .env        # set DISCORD_TOKEN
    docker compose pull && docker compose up -d
    docker compose logs -f dj-snake

    Would rather build locally? docker compose up -d --build does that.

  4. Press play

    Join a voice channel and send !play https://www.youtube.com/watch?v=....

Before you invite it

DJ Snake is a bot for your own server. It is an independent project, with no affiliation to YouTube, Spotify or Discord and no endorsement from them.

It runs on your machine with your own bot token, fetches only the links you give it, and is meant for personal use. Respect YouTube's Terms of Service and the rights of the people whose videos you play.

Bring the music home.

Commands and the full configuration live in the repository.