A complete code to download for a music bot 🎧
Looking for a code for a music bot? This fully open-source code is made for your project!
If you need help with this project, to get support faster you can join the help server by just clicking here.
If you don't have any development knowledge, it is recommended to join the Discord support server to get help.
Important!!! In order to work you need to rename .env.example
to .env
Open the configuration file located in the main folder config.js
.
const process = require('process');
module.exports = {
app: {
token: process.env.DISCORD_TOKEN || 'xxx',
playing: 'by the Community ❤️',
global: true,
guild: process.env.GUILD_ID || 'xxx',
extraMessages: false,
loopMessage: false,
lang: 'en',
enableEmojis: false,
},
emojis:{
'back': '⏪',
'skip': '⏩',
'ResumePause': '⏯️',
'savetrack': '💾',
'volumeUp': '🔊',
'volumeDown': '🔉',
'loop': '🔁',
},
opt: {
DJ: {
enabled: false,
roleName: '',
commands: []
},
Translate_Timeout: 10000,
maxVol: 100,
spotifyBridge: true,
volume: 75,
leaveOnEmpty: true,
leaveOnEmptyCooldown: 30000,
leaveOnEnd: true,
leaveOnEndCooldown: 30000,
discordPlayer: {
ytdlOptions: {
quality: 'highestaudio',
highWaterMark: 1 << 25
}
}
}
};
Basic configuration
-
app/token
, the token of the bot available on the Discord Developers section -
app/playing
, the activity of the bot -
app/global
, whether the commands will work on all servers or just one (if global they might take up to an hour to show up) -
app/guild
, the guild the slash command will be loaded to (this only applies if global is set to false) -
app/extraMessages
will increase the amount of bot spam, while you get more infomation (not recommended) -
app/lang
will change the bot client language [See below for supported language codes] -
app/Translate_Timeout
will set the time limit the bot has to create the translation succesfully. If the time is out, only the original english version will be printed. Set tonone
if you want to disable it (No Timeout). -
app/enableEmojis
will change the player buttons with emojis if set to true.false
will replace them by basic english words -
opt/loopMessage
, if the message that a music is played should be sent when it is looped
DJ mode configuration
opt/DJ/enabled
, whether the DJ mode should be activated or notopt/DJ/roleName
, the name of the DJ role to be usedopt/DJ/commands
, the list of commands limited to members with the DJ role
Advanced configuration (only change if you know what you are doing)
opt/maxVol
, the maximum volume that users can defineopt/spotifyBridge
, takes spotify songs/playlists and searches it on youtube and plays it (highly recommended)opt/volume
, is the defaul volume the queue will start atopt/leaveOnEmpty
, if the bot will leave when the queue is emptyopt/leaveOnEmptyCooldown
, the cooldown before the bot leaves when the queue is emptyopt/leaveOnEnd
, if the bot will leave on finishing the queueopt/leaveOnEndCooldown
, the cooldown before the bot leaves on finishing the queueopt/discordPlayer
, options used by discord-player
To use the project correctly you will need some tools.
WARNING: You MUST use Node.js version v18.20.2
, otherwise, you will encounter major compatibility issues.
FFmpeg to process audio ( make sure to download the latest version availble )
Node JS (v18.20.2
) for environment
yarn for package management
Without forgetting of course the code editor, we recommend visual studio code
Now in your terminal run the following commands assuming you are in the same directory as the project.
yarn install
(or npm install
not recommended as it might not work)
node .
(or node main.js
)
and Done, your bot should be running!
Realized with ❤️ by the Community.
Please do not withdraw the license and keep the credits on this project.
To have full access to the project and to be able to withdraw the credits a small donation is accepted.
Code | Language | Code | Language | Code | Language |
---|---|---|---|---|---|
af |
Afrikaans | bn |
Bengali | da |
Danish |
sq |
Albanian | bg |
Bulgarian | nl |
Dutch |
ar |
Arabic | ca |
Catalan | en |
English |
hy |
Armenian | hr |
Croatian | et |
Estonian |
eu |
Basque | cs |
Czech | fi |
Finnish |
be |
Belarusian | cy |
Welsh | fr |
French |
bs |
Bosnian | de |
German | ga |
Irish |
ja |
Japanese | jv |
Javanese | ka |
Georgian |
kn |
Kannada | kk |
Kazakh | km |
Khmer |
ko |
Korean | ku |
Kurdish | ky |
Kyrgyz |
la |
Latin | lb |
Luxembourgish | lo |
Lao |
lt |
Lithuanian | lv |
Latvian | mg |
Malagasy |
mi |
Maori | mk |
Macedonian | ml |
Malayalam |
mn |
Mongolian | mr |
Marathi | ms |
Malay |
mt |
Maltese | my |
Burmese | ne |
Nepali |
no |
Norwegian | ny |
Chichewa | pa |
Punjabi |
pl |
Polish | ps |
Pashto | pt |
Portuguese |
ro |
Romanian | ru |
Russian | sd |
Sindhi |
si |
Sinhalese | sk |
Slovak | sl |
Slovenian |
sm |
Samoan | sn |
Shona | so |
Somali |
sq |
Albanian | sr |
Serbian | st |
Sesotho |
su |
Sundanese | sv |
Swedish | sw |
Swahili |
ta |
Tamil | te |
Telugu | th |
Thai |
tr |
Turkish | uk |
Ukrainian | ur |
Urdu |
vi |
Vietnamese | xh |
Xhosa | yi |
Yiddish |
zu |
Zulu | id |
Indonesian |
- Vote to skip command #187