/evobot

🤖 EvoBot is a Discord Music Bot built with TypeScript + Discord.js, includes Docker builds & localization in 20+ languages

Primary LanguageTypeScriptMIT LicenseMIT

Node build Docker build Commitizen friendly

logo

🤖 EvoBot (Discord Music Bot)

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

Requirements

  1. Discord Bot Token Guide
    1.1. Enable 'Message Content Intent' in Discord Developer Portal
  2. 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

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

  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