🤖 Megumin (A fork of EvoBot)
Megumin is a Discord Music Bot built with TypeScript, discord.js & uses Command Handler from discordjs.guide
I decided to create a separate repository because forks can't open issues. Also, I have plans to maintain and add more features.
The main difference is that Megumin uses an Invidious instance to make YouTube requests instead of relying on your own network, as the chance of getting blocked by YouTube is quite high
And more features such as:
- Clear command
- Discord Bot Token Guide
1.1. Enable 'Message Content Intent' in Discord Developer Portal - Node.js 16.11.0 or newer
git clone https://github.com/hoangvu12/megumin.git
cd megumin
npm install
After installation finishes follow configuration instructions then run npm run start
to start the bot.
Copy or Rename config.json.example
to config.json
and fill out the values:
{
"TOKEN": "",
"MAX_PLAYLIST_SIZE": 10,
"PRUNING": false,
"LOCALE": "en",
"DEFAULT_VOLUME": 100,
"STAY_TIME": 30,
"INVIDIOUS_BASE_URL": "",
"USE_INVIDIOUS_PROXY": false
}
You can change the Invidious instance by updating the INVIDIOUS_BASE_URL
in your configuration. You can either use a public Invidious instance or host your own.
If you are having trouble streaming (the bot doesn't play audio), try setting USE_INVIDIOUS_PROXY
to true
.
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>" hoangvudev12/megumin
- 🎶 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
- Clear all the queue (/clear)
- 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
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
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/megumin.git
- Create your feature branch:
git checkout -b my-new-feature
- Stage changes
git add .
- Commit your changes:
cz
ORnpm run commit
do not usegit commit
- Push to the branch:
git push origin my-new-feature
- Submit a pull request