Configuring the bot is relatively straight forward. First, open your bot folder and then the config
folder within it. Copy example_options.ini
to 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.
Credentials
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.
Permissions
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 toauto
, the bot will automatically determine its owner from who created the bot accountDevIDs
- 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
Chat
CommandPrefix
- The prefix that will be used before every command, e.g if my prefix is!
, I would use!play
to queue a songBindToChannels
- You can enter text channel IDs in here (seperated by spaces) to only allow the bot to respond in those channelsAutojoinChannels
- You can enter voice channel IDs in here (seperated by spaces) to force the bot to join those channels on launch (one per server)
MusicBot
DefaultVolume
- The volume that your bot starts at when launched, between0.01
and1.0
. Recommended:0.15
- deprecated
WhiteListCheck
- If enabled, the bot can only be used by users whose IDs are inwhitelist.txt
. SkipsRequired
&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 ratioSaveVideos
- Whether videos should be saved to the disk for if they are queued again. If you care about disk space, keep this disabledNowPlayingMentions
- Whether to mention the user that requested a song when their song starts playingAutoSummon
- Whether the bot should automatically connect to the owner’s voice channel on startup. This takes precendence overAutojoinChannels
UseAutoPlaylist
- Whether to play music fromautoplaylist.txt
when joining a voice channel and when nothing is queuedAutoPlaylistRandom
- Whether the autoplaylist should play music randomly or sequentially when it is enabledAutoPause
- Whether the bot should pause if nobody is in the voice channelDeleteMessages
- Whether the bot should delete its messages after a short period of timeDeleteInvoking
- Whether the bot should delete user command messages after a short period of time.DeleteMessages
must be enabled for this to work tooPersistentQueue
- Whether the bot should save the queue to the disk regularly so it can recover if it is unexpectedly shutdownDebugLevel
- Determines what messages are logged. This is generally not needed to be changed unless you are asked to do so when receiving supportStatusMessage
- Allows users to specify a custom “Playing” status message for the bot, rather than the dynamic ones the bot providesWriteCurrentSong
- Whether the bot should write the current song to a text file on the disk, which can then be used in OBS or other softwareAllowAuthorSkip
- Whether the person who queues a song should be allowed to instantly skip it if they use!skip f
UseExperimentalEqualization
- Whether the bot should try to equalize tracks to ensure they play at a consistent volumeUseEmbeds
- Whether the bot should use Discord embeds when sending messagesQueueLength
- How many songs should appear in thequeue
commandRemoveFromAPOnError
- Whether the bot should remove songs from the autoplaylist if there is an errorShowConfigOnLaunch
- Whether the bot should print the configuration options when it startsLegacySkip
- Whether to use legacy skip behavior, defaulting!skip
to force skipLeaveServersWithoutOwner
- Whether the bot should leave servers that the owner is not found inUseAlias
- Whether the bot should use aliases defined inaliases.json
CustomEmbedFooter
- Changes the footer text found in embeds from the default version footer
Files
i18nFile
- The internationalization file to use for the bot (relative path, e.gconfig/i18n/en.json
)