MCPcopy
hub / github.com/eritislami/evobot

github.com/eritislami/evobot @2.9.0 sqlite

repository ↗ · DeepWiki ↗ · release 2.9.0 ↗
68 symbols 168 edges 35 files 3 documented · 4%
README

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

Extension points exported contracts — how you extend this code

PermissionResult (Interface)
(no doc)
utils/checkPermissions.ts
Command (Interface)
(no doc)
interfaces/Command.ts
Config (Interface)
(no doc)
interfaces/Config.ts
QueueOptions (Interface)
(no doc)
interfaces/QueueOptions.ts
SongData (Interface)
(no doc)
structs/Song.ts

Core symbols most depended-on inside this repo

canModifyQueue
called by 13
utils/queue.ts
safeReply
called by 11
utils/safeReply.ts
execute
called by 10
interfaces/Command.ts
stop
called by 9
structs/MusicQueue.ts
enqueue
called by 3
structs/MusicQueue.ts
processQueue
called by 3
structs/MusicQueue.ts
filter
called by 3
structs/MusicQueue.ts
from
called by 2
structs/Song.ts

Shape

Method 28
Function 25
Class 10
Interface 5

Languages

TypeScript100%

Modules by API surface

structs/MusicQueue.ts18 symbols
structs/Song.ts7 symbols
structs/Bot.ts5 symbols
utils/MissingPermissionsException.ts4 symbols
structs/Playlist.ts4 symbols
commands/queue.ts3 symbols
utils/checkPermissions.ts2 symbols
interfaces/Command.ts2 symbols
utils/safeReply.ts1 symbols
utils/queue.ts1 symbols
interfaces/QueueOptions.ts1 symbols
interfaces/Config.ts1 symbols

Dependencies from manifests, versioned

@discordjs/voice0.16.1 · 1×
@types/i18n0.13.10 · 1×
@types/node20.11.20 · 1×
array-move3.0.1 · 1×
cz-conventional-changelog3.0.1 · 1×
discord.js14.14.1 · 1×
dotenv16.4.5 · 1×
ffmpeg-static4.4.1 · 1×
i18n0.15.1 · 1×
lyrics-finder21.0.5 · 1×
nodemon2.0.22 · 1×
play-dl1.9.7 · 1×

For agents

$ claude mcp add evobot \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact