Skip to content

Extensive Command Guide

Giovanbattista Abbate edited this page Aug 14, 2025 · 2 revisions

Discord Music Bot Commands

This documentation covers all available commands for the Discord Music Bot, ordered alphabetically.


add <url>

Usage: %add <YouTube URL>

Adds a song from a YouTube URL to the front of the queue. Connects to the user's voice channel if not already connected, then extracts song information from the provided YouTube URL and adds it as the next song to play. If nothing is currently playing, starts playing the added song immediately.

Example: %add https://www.youtube.com/watch?v=dQw4w9WgXcQ


bump <position>

Usage: %bump <position>

Moves a song from a specified position to the front of the queue. Takes a song at the given position and moves it to be the next song that will play after the current song finishes. The position must be within the valid range of the current queue.

Example: %bump 3 (moves the 3rd song to be the next one)


help

Usage: %help

Shows the help command with a summary of all available commands divided by category.


join

Usage: %join

Makes the bot join the user's current voice channel. Checks if the user is in a voice channel and connects the bot to that channel. If the bot is already connected to a voice channel, sends a notification. Ensures guild settings are initialized after joining.


leave

Usage: %leave

Disconnects the bot from the voice channel. If the bot is connected to a voice channel, stops any playing music, clears the song queue, and disconnects from the voice channel. Sends appropriate feedback based on the bot's connection status.


loop

Usage: %loop

Toggles looping mode for the currently playing track. Switches the loop setting for the guild between enabled and disabled. When enabled, the current track will repeat indefinitely until looping is disabled or the track is skipped/stopped.


move <from> <to>

Usage: %move <from_position> <to_position>

Moves a song from one position in the queue to another. Takes a song at the 'from' position and moves it to the 'to' position, shifting other songs accordingly. Both positions must be within the valid range of the current queue.

Example: %move 3 1 (moves song from position 3 to position 1)


np

Usage: %np

Shows information about the currently playing song. Displays the title and URL of the track that is currently playing. If no song is currently playing, informs the user accordingly.


pause

Usage: %pause

Pauses the currently playing song. Checks if the bot is connected to a voice channel and if music is currently playing. If both conditions are met, pauses the playback and sends a confirmation message. Otherwise, informs the user that no music is playing.


play <url>

Usage: %play <YouTube URL>

Plays audio from a YouTube URL immediately, stopping any current playback. Connects to the user's voice channel if not already connected, then extracts audio information from the provided YouTube URL using yt-dlp. Stops any currently playing audio and starts playing the new track with the configured volume settings.

Example: %play https://www.youtube.com/watch?v=dQw4w9WgXcQ


playlist <url>

Usage: %playlist <YouTube Playlist URL>

Adds all songs from a YouTube playlist to the queue in random order. Connects to the user's voice channel if not already connected, then extracts all entries from the provided YouTube playlist URL. Shuffles the songs and adds them to the guild's song queue. If nothing is currently playing, starts playing the first song from the queue.

Example: %playlist https://www.youtube.com/playlist?list=PLE0hg-LdSfycrpTtMImPSqFLle4yYNzWD


queue

Usage: %queue

Displays the current song queue with pagination controls. Shows up to 10 songs per page in an embed format with navigation buttons. If the queue is empty, informs the user accordingly. The embed includes song titles and positions in the queue.


remove <position>

Usage: %remove <position>

Removes a song from the queue at the specified position. Permanently removes the song at the given position from the queue. The position must be within the valid range of the current queue. Shows the title of the removed song in the confirmation message.

Example: %remove 2 (removes the 2nd song from queue)


replay

Usage: %replay

Replays the currently playing song from the beginning. Takes the current song and adds it to the front of the queue, then stops the current playback. This triggers the after_song callback which will immediately start playing the song again from the beginning.


resume

Usage: %resume

Resumes paused music playback. Checks if the bot is connected to a voice channel and if music is currently paused. If both conditions are met, resumes the playback and sends a confirmation message. Otherwise, informs the user that the music is not paused.


search <query>

Usage: %search <search terms>

Searches YouTube for a query and allows the user to select a track to add to queue. Connects to the user's voice channel if not already connected, then performs a YouTube search for the provided query. Displays up to 10 results in an embed and waits for the user to select a track by typing a number (1-10). The selected track is added to the queue and will play if nothing is currently playing.

Example: %search never gonna give you up


shuffle

Usage: %shuffle

Randomly shuffles all songs in the current queue. Reorders all songs in the queue randomly. Requires at least 2 songs in the queue to perform the shuffle operation. The currently playing song is not affected by the shuffle.


skip

Usage: %skip

Skips the currently playing song and moves to the next in queue. Stops the current playback which triggers the after_song callback to play the next song in the queue. Also disables looping for the current track. If no song is playing, informs the user accordingly.


skipto <position>

Usage: %skipto <position>

Skips directly to a specific song number in the queue. Removes all songs before the specified position from the queue and either stops current playback (if playing) or starts playing the target song. The position must be within the valid range of the current queue.

Example: %skipto 5 (skips to the 5th song in queue)


stop

Usage: %stop

Stops music playback and clears the entire queue. If music is currently playing, stops the playback, clears all songs from the queue, and resets the currently playing track. Sends appropriate feedback based on whether music was playing or not.


volume <level>

Usage: %volume <0.0-2.0>

Adjusts the playback volume for future tracks. Sets the volume level for the guild, which will be applied to the next track that starts playing (after a skip or replay command). Volume must be between 0.0 and 2.0, where 1.0 is normal volume.

Example: %volume 0.5 (50% volume)

Quick Reference

Command Purpose Example
%add Add song to queue %add <URL>
%bump Move song to front of queue %bump <position>
%join Join voice channel %join
%leave Disconnect bot %leave
%loop Toggle loop mode %loop
%move Move song in queue %move 3 1
%np Show current song %np
%pause Pause playback %pause
%play Play a song immediately %play <URL>
%playlist Add playlist to queue %playlist <URL>
%queue Show current queue %queue
%remove Remove song from queue %remove 2
%replay Replay current song %replay
%resume Resume playback %resume
%search Search and select song %search rick roll
%shuffle Shuffle queue %shuffle
%skip Skip current song %skip
%skipto Skip to specific song %skipto 5
%stop Stop and clear queue %stop
%volume Adjust volume %volume 0.8

Notes

  • All volume changes apply to the next song that starts playing
  • Queue positions are 1-based (first song is position 1)
  • The bot must be in a voice channel to play music
  • Search results timeout after a configured period
  • Playlist songs are automatically shuffled when added