botifyMusic bot that supports Spotify and YouTube or any URL including SoundCloud links and Twitch streams. Fully free and open source.
- Play and search Spotify tracks and YouTube videos or playlists or play any URL including Soundcloud links and Twitch streams
- Fully free and open source
- Feature rich and highly customisable without a paywall
- Create cross-platform playlists with tracks from any source
- Simple and customisable player commands
- Create custom command presets as shortcuts for your most used commands
- Adjustable properties for even deeper customisation
- Sign in to Spotify to play your own Spotify playlists or upload botify playlists
- Manage what roles can access which commands
- Customise how you want to summon your bot by using a custom prefix or giving your bot a name
Available commandsYou can fetch this list in discord using the "$botify help" command, or "$botify help play" to get help with a specific command
Resume the paused playback, play the current track in the queue or play the specified track, video or playlist. Can play any URL or search youtube and spotify tracks or lists and also local playlists. Local playlists, like the queue, can contain tracks from any source (YouTube, Spotify and URL). Spotify search queries support the Spotify query syntax (i.e. the "artist:", "album:" and "track:" filters).
Usage examples ("$botify" can be replaced with the name of your bot or your custom prefix):
Play the current queue or unpause playback
Play a specific track from Spotify
$botify play numb
Play a track from a specific artist and album
$botify play from the inside artist:linkin park album:meteora
Play a URL
$botify play someurl.com
Play a video from YouTube
$botify play $youtube youtube rewind 2018
Play a playlist from YouTube, showing a selection of 5 results
$botify play $youtube $list $limit=5 memes
Play a YouTube playlist
$botify play $youtube $list important videos
Play a Spotify playlist
$botify play $spotify $list this is linkin park
Play a Spotify playlist from the current user's library
$botify play $spotify $list $own goat
Pause the current playback.
Stop playback and empty the queue.
Toggles repeat for either the entire queue (repeat $all) or the current track (repeat $one).
Go back to the previous track in the queue. You can provide a number to rewind more than one track like this: $botify rewind 5
Skip to the next track in the queue or skip the specified amount of tracks. You can provide a number to skip more than one track like this: $botify skip 5
Toggles shuffle for this guild's queue. This generates a random order in which each track only appears once.
Display the current queue or add a youtube video or playlist, spotify track or playlist, local playlist or any URL to the current queue. Spotify search queries support the Spotify query syntax (i.e. the "artist:", "album:" and "track:" filters).
Display the queue widget
Add a specific track from Spotify to the queue
$botify queue numb
Add a track from a specific artist and album
$botify queue from the inside artist:linkin park album:meteora
Add tracks from a local playlist to the queue
$botify queue $list my list
Add tracks from a Spotify playlist to the queue
$botify queue $spotify $list this is linkin park
Add tracks from a Spotify playlist in the current user's library to the queue
botify queue $list $spotify $own favs
Add a YouTube playlist to the queue
$botify queue $youtube $list memes
Add a YouTube playlist to the queue, showing a selection of 5 results
$botify queue $youtube $list $limit=5 memes
Clear the current queue of all tracks (except the currently playing track)
Skip the given amount of seconds or minutes in the current track.
Forward 110 seconds
$botify forward 110
Forward 2 minutes
$botify forward $minutes 2
Rewind the given amount of seconds or minutes in the current track.
Rewind 110 seconds
$botify reverse 110
Rewind 2 minutes
$botify rewind $minutes 2
Change the music volume. Enter a value between 1 and 200.
Create an emtpy local playlist with the given name like $botify create my list
Delete the local playlist with the given name like $botify delete my list
Export the current tracks in the queue to a new local list like $botify export my list
Add a specific song from spotify, youtube, the current queue or any URL to the specified local playlist. Spotify search queries support the Spotify query syntax (i.e. the "artist:", "album:" and "track:" filters). To add tracks to the queue see the queue command.
Add a specific track
$botify add $spotify $own from the inside $to my list.
Add tracks from the current queue to a list
$botify add $queue my list
Add tracks from a url
$botify add someurl.com $to linkin park
Remove an item from a local playlist. Put either the full title of the YouTube video or the spotify track name. If it was a track added by URL from a different source you can either remove it via its title or URL. You can also remove items by their index like such: $botify remove $index 13-19 $from list.
Move one or several items in a botify playlist to a different index. When moving items down the playlist the items will end up behind the track that is currently at the target index or before when moving items upwards. When entering an index range to move it includes the start and end index. Indices are human, meaning they start at 1. To view full playlists with all indices search the list ($botify search $list my list) and then click the view full list link.
Add a track to a botify playlist. This command is an extension to the add command that inserts the tracks at a specific index rather than adding them to the end of the list.
Change the name of the bot. The bot then can be referenced to using that name instead of typing "$botify".
Create or delete a command preset or show all saved presets. Command presets can be used as shortcuts for lengthy commands or creating an alias for a command. Presets han hold one variable marked by "%s" that may be assigned a value when using the preset. Syntax to create a preset: [preset] $as [name].
Create a preset to add a track to your favourite list like: $botify fav numb
$botify preset "add %s $to favs" $as fav
Create a preset to play a local list like: $botify pl my list
$botify preset "play $list %s" $as pl
Create an alias for command forward: $botify ff 20
$botify preset forward %s $as ff
List all local playlist with one word: $botify list
$botify search \$list $as list
Create a preset to play one of the current user's Spotify playlists
$botify preset "play $spotify $own $list %s" $as psol
List all saved presets
Delete a saved preset
$botify preset $delete psol
Set a custom command prefix. Can be used instead of "$botify" or the bot name to start a command.
List all properties or change the value of a property. Properties are used to customize the bot. For example the "color" property changes the colour theme or "playback notification" changes whether you receive "Now playing..." messages.
list all properties
set the color of botify messages to blue
$botify property color $set blue
set the color to Spotify green
$botify property color $set #1DB954
toggle playback notifications
$botify property $toggle playback notification
Answer a question asked by the bot. Commands like the play command may ask you to specify what track you meant if several options where found.
Lists all available commands and their descriptions or provides help with a specific command.
Add or remove a role required to run a certain command or list all commands and who they are available to. By default all commands are available to each user, except for this command which initially is only available to the guild owner. But as soon as a role has been added only those members with said role can use the command. The guild owner can always use any command.
Add playbackmanager to the roles that can use command play
$botify permission $grant play $to playbackmanager
Remove playbackmanager from the roles that can use command add
$botify permission $deny add $for playbackmanager
Clear all restrictions for command shuffle
$botify permission $clear shuffle
Show various analytics about this bot
Shows the most popular tracks and artists for your guild and globally
Login to spotify. This sends you a link to the spotify login page which then redirects to the botify callback.
Upload the items from a local list to a new Spotify playlist. This ignores elements that are not Spotify tracks.
Log out from Spotify.
Search for YouTube and Spotify tracks or playlists and local playlists or list all local playlists. Spotify search queries support the Spotify query syntax (i.e. the "artist:", "album:" and "track:" filters).
List all local playlists
$botify search $list
Search for a specific local list
$botify search $list my list
Search for a Spotify track
$botify search $spotify numb artist:linkin park album:meteora
Search for a Spotify playlist
$botify search $spotify $list this is linkin park
$botify search $youtube $list $limit=6 memes