Configuring the bot is relatively straight forward. First, open your bot folder and then the
config folder within it. Copy
options.ini. This will be the file that you save your configuration into. Open it with a code editor like Notepad++, Atom, or Visual Studio Code.
Editing your configuration file using Notepad or WordPad will result in problems as they save files in strange formats and aren’t designed for editing .ini files.
Token- This is the only required option for your bot to run. You must provide the token for your Discord bot account. To create a bot account, go to your applications page (logging in if prompted), and then follow this 10 second video. If you followed it entirely, you should have revealed your token and can now copy it into the config file.
Please note that MusicBot requires privileged intents to function. You need to enable each of the Gateway Intents on your Discord Application’s ‘Bot’ page.
After creating a bot account, you should probably add your bot to a server by clicking the ‘Generate OAuth2 URL’ button on the application page and copying the URL in the box to your address bar and pressing enter. You can then select what server you wish to add it to.
Spotify_ClientID- The client ID for your Spotify application. Required for the bot’s Spotify integration.
Spotify_ClientSecret- The client secret for your Spotify applicaton. Required for the bot’s Spotify integration.
This section is about the config options in options.ini. For help with the actual permissions file, see here.
OwnerID- The ID of your Discord user, who will gain full permissions for the bot. If this is set to
auto, the bot will automatically determine its owner from who created the bot account
DevIDs- The IDs of every Discord user that you would like to gain developer commands. These commands are dangerous and allow execution of arbitrary code. If you don’t know what you’re doing, don’t add any IDs here
CommandPrefix- The prefix that will be used before every command, e.g if my prefix is
!, I would use
!playto queue a song
BindToChannels- You can enter text channel IDs in here (seperated by spaces) to only allow the bot to respond in those channels
AutojoinChannels- You can enter voice channel IDs in here (seperated by spaces) to force the bot to join those channels on launch (one per server)
DefaultVolume- The volume that your bot starts at when launched, between
WhiteListCheck- If enabled, the bot can only be used by users whose IDs are in
SkipsRatio- The required amount/ratio of votes to skip before skipping. The lower value of the two is used. Deafened users and the owner does not count towards the ratio
SaveVideos- Whether videos should be saved to the disk for if they are queued again. If you care about disk space, keep this disabled
NowPlayingMentions- Whether to mention the user that requested a song when their song starts playing
AutoSummon- Whether the bot should automatically connect to the owner’s voice channel on startup. This takes precendence over
UseAutoPlaylist- Whether to play music from
autoplaylist.txtwhen joining a voice channel and when nothing is queued
AutoPlaylistRandom- Whether the autoplaylist should play music randomly or sequentially when it is enabled
AutoPause- Whether the bot should pause if nobody is in the voice channel
DeleteMessages- Whether the bot should delete its messages after a short period of time
DeleteInvoking- Whether the bot should delete user command messages after a short period of time.
DeleteMessagesmust be enabled for this to work too
PersistentQueue- Whether the bot should save the queue to the disk regularly so it can recover if it is unexpectedly shutdown
DebugLevel- Determines what messages are logged. This is generally not needed to be changed unless you are asked to do so when receiving support
StatusMessage- Allows users to specify a custom “Playing” status message for the bot, rather than the dynamic ones the bot provides
WriteCurrentSong- Whether the bot should write the current song to a text file on the disk, which can then be used in OBS or other software
AllowAuthorSkip- Whether the person who queues a song should be allowed to instantly skip it if they use
UseExperimentalEqualization- Whether the bot should try to equalize tracks to ensure they play at a consistent volume
UseEmbeds- Whether the bot should use Discord embeds when sending messages
QueueLength- How many songs should appear in the
RemoveFromAPOnError- Whether the bot should remove songs from the autoplaylist if there is an error
ShowConfigOnLaunch- Whether the bot should print the configuration options when it starts
LegacySkip- Whether to use legacy skip behavior, defaulting
!skipto force skip
LeaveServersWithoutOwner- Whether the bot should leave servers that the owner is not found in
UseAlias- Whether the bot should use aliases defined in
- review only
CustomEmbedFooter- Changes the footer text found in embeds from the default version footer
i18nFile- The internationalization file to use for the bot (relative path, e.g