🤖 EvoBot (Discord Music Bot)
EvoBot is a Discord Music Bot built with TypeScript, discord.js & uses Command Handler from discordjs.guide
Requirements
- Discord Bot Token Guide
1.1. Enable 'Message Content Intent' in Discord Developer Portal
- Node.js 16.11.0 or newer
🚀 Getting Started
git clone https://github.com/eritislami/evobot.git
cd evobot
npm install
After installation finishes follow configuration instructions then run npm run start
to start the bot.
⚙️ Configuration
Copy or Rename config.json.example
to config.json
and fill out the values:
⚠️ Note: Never commit or share your token or api keys publicly ⚠️
{
"TOKEN": "",
"MAX_PLAYLIST_SIZE": 10,
"PRUNING": false,
"LOCALE": "en",
"DEFAULT_VOLUME": 100,
"STAY_TIME": 30
}
🐬 Docker Configuration
For those who would prefer to use our Docker container, you may provide values from config.json
as environment variables.
docker run -e "TOKEN=<discord-token>" eritislami/evobot
📝 Features & Commands
- 🎶 Play music from YouTube via url
/play https://www.youtube.com/watch?v=GLvohMXgcBo
- 🔎 Play music from YouTube via search query
/play under the bridge red hot chili peppers
- 🔎 Search and select music to play
/search Pearl Jam
- 📃 Play youtube playlists via url
/playlist https://www.youtube.com/watch?v=YlUKcNNmywk&list=PL5RNCwK3GIO13SR_o57bGJCEmqFAwq82c
- 🔎 Play youtube playlists via search query
/playlist linkin park meteora
- Now Playing (/nowplaying)
- Queue system (/queue)
- Loop / Repeat (/loop)
- Shuffle (/shuffle)
- Volume control (/volume)
- Lyrics (/lyrics)
- Pause (/pause)
- Resume (/resume)
- Skip (/skip)
- Skip to song # in queue (/skipto)
- Move a song in the queue (/move)
- Remove song # from queue (/remove)
- Show ping to Discord API (/ping)
- Show bot uptime (/uptime)
- Toggle pruning of bot messages (/pruning)
- Help (/help)
- Command Handler from discordjs.guide
- Media Controls via Buttons
🌎 Locales
Currently available locales are:
- English (en)
- Arabic (ar)
- Brazilian Portuguese (pt_br)
- Bulgarian (bg)
- Romanian (ro)
- Czech (cs)
- Dutch (nl)
- French (fr)
- German (de)
- Greek (el)
- Indonesian (id)
- Italian (it)
- Japanese (ja)
- Korean (ko)
- Minionese (mi)
- Persian (fa)
- Polish (pl)
- Russian (ru)
- Simplified Chinese (zh_cn)
- Singaporean Mandarin (zh_sg)
- Spanish (es)
- Swedish (sv)
- Traditional Chinese (zh_tw)
- Thai (th)
- Turkish (tr)
- Ukrainian (uk)
- Vietnamese (vi)
- Check Contributing if you wish to help add more languages!
- For languages please use ISO 639-1 two letter format
🤝 Contributing
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/evobot.git
- Create your feature branch:
git checkout -b my-new-feature
- Stage changes
git add .
- Commit your changes:
cz
OR npm run commit
do not use git commit
- Push to the branch:
git push origin my-new-feature
- Submit a pull request