Discord music bot using, slash commands, and yt-dlp.


  • Play music from YouTube videos and playlists
  • Queue system with shuffle
  • Skip songs
  • Loop a song or the whole queue

Running the bot

Install , then pull and run the image:

docker pull hizkifw/discord-bop:latest
docker run --rm -e BOT_TOKEN="insert_bot_token_here" -e GUILD_IDS="[1234567890123456789]" hizkifw/discord-bop:latest
  • BOT_TOKEN: discord bot token
  • GUILD_IDS: json int array of guild ids, e.g. [730136766748819609, 1189998819991197253]

Command reference

Command Description
/join Join the voice channel you are currently in.
/leave Leave the voice channel it is currently in.
/play query

Add a song to the end of the queue. query can either be a YouTube video or playlist URL, a search term, or a number.

  • When given a playlist URL, will add all videos in the playlist to the back of the queue.
  • When given a search term, will pick the top result from YouTube search and add it to the end of the queue.
  • When given a number, will skip playback to that song number in the queue.
/pause Pause the current song.
/resume Unpause the current song.
/np Show the currently playing song.
/queue Show the current queue.
/clear Remove all songs from the queue and stop playback.
/remove number Remove the specified song number from the queue.
/shuffle Randomize the order of the songs in the current queue. This is not an on/off toggle. The shuffling happens once when the command is invoked.
/skip [number] Skip the currently playing song and play the next song. If number is supplied, will skip that many songs. If number is negative, will skip backwards.
/loop mode Enable/disable looping of the current song or the whole queue.