/evobot

🤖 EvoBot is a Discord Music Bot built with discord.js & uses Command Handler from discordjs.guide

Primary LanguageJavaScriptMIT LicenseMIT

Node build Docker build Commitizen friendly

logo

🤖 EvoBot (Discord Music Bot)

EvoBot is a Discord Music Bot built with discord.js & uses Command Handler from discordjs.guide

Requirements

  1. Discord Bot Token Guide 2 (Optional) Soundcloud Client ID Guide
  2. Node.js v14.0.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 node index.js 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": "",
  "SOUNDCLOUD_CLIENT_ID": "",
  "MAX_PLAYLIST_SIZE": 10,
  "PREFIX": "/",
  "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>" -e "YOUTUBE_API_KEY=<youtube-key>" eritislami/evobot

📝 Features & Commands

Note: The default prefix is '/'

  • 🎶 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

  • 🎶 Play music from Soundcloud via url

/play https://soundcloud.com/blackhorsebrigade/pearl-jam-alive

  • 🔎 Search and select music to play

/search Pearl Jam

Reply with song number or numbers seperated by comma that you wish to play

Examples: 1 or 1,2,3

  • 📃 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 (/np)
  • Queue system (/queue, /q)
  • Loop / Repeat (/loop)
  • Shuffle (/shuffle)
  • Volume control (/volume, /v)
  • Lyrics (/lyrics, /ly)
  • Pause (/pause)
  • Resume (/resume, /r)
  • Skip (/skip, /s)
  • Skip to song # in queue (/skipto, /st)
  • Move a song in the queue (/move, /mv)
  • Remove song # from queue (/remove, /rm)
  • Play an mp3 clip (/clip song.mp3) (put the file in sounds folder)
  • List all clips (/clips)
  • Show ping to Discord API (/ping)
  • Show bot uptime (/uptime)
  • Toggle pruning of bot messages (/pruning)
  • Help (/help, /h)
  • Command Handler from discordjs.guide
  • Media Controls via Reactions

reactions

🌎 Locales

Currently available locales are:

  • English (en)
  • Arabic (ar)
  • Brazilian Portuguese (pt_br)
  • Dutch (nl)
  • French (fr)
  • German (de)
  • Greek (el)
  • Indonesian (id)
  • Italian (it)
  • Japanese (ja)
  • Korean (ko)
  • 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

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/your-username/evobot.git
  3. Create your feature branch: git checkout -b my-new-feature
  4. Stage changes git add .
  5. Commit your changes: cz OR npm run commit do not use git commit
  6. Push to the branch: git push origin my-new-feature
  7. Submit a pull request

📝 Credits

@iCrawl For the queue system used in this application which was adapted from @iCrawl/discord-music-bot