Header
EspaΓ±ol FranΓ§ais δΈ­ζ–‡ ζ—₯本θͺž

🎡 Melodix Player β€”
Self-hosted Discord music bot written in Go

Melodix Player is my pet project that plays audio from YouTube and audio streaming links to Discord voice channels.

Playing Example

🌟 Features Overview

🎧 Playback Support

βš™οΈ Additional Features

⚠️ Current Limitations

πŸš€ Try Melodix Player

You can test Melodix in two ways:

πŸ“ Available Discord Commands

Melodix Player supports various commands with respective aliases (if applicable). Some commands require additional parameters.

▢️ Playback Commands

πŸ“‹ Queue Commands

πŸ“š History Commands

ℹ️ Information Commands

πŸ’Ύ Caching & Sideloading Commands

These commands are available only for superadmins (host server owners).

πŸ”§ Administration Commands

πŸ’‘ Command Usage Examples

To use the play command, provide a YouTube video title, URL, or history ID:

!play Never Gonna Give You Up
!p https://www.youtube.com/watch?v=dQw4w9WgXcQ
!> 5  (assuming 5 is an ID from !history)

For adding a song to the queue, use:

!add Never Gonna Give You Up
!resume

πŸ”§ How to Set Up the Bot

πŸ”— Create a Bot in the Discord Developer Portal

To add Melodix to a Discord server, follow these steps:

  1. Create an application in the Discord Developer Portal and obtain the APPLICATION_ID (in the General section).
  2. In the Bot section, enable PRESENCE INTENT, SERVER MEMBERS INTENT, and MESSAGE CONTENT INTENT.
  3. Use the following link to authorize the bot: discord.com/oauth2/authorize?client_id=YOUR_APPLICATION_ID&scope=bot&permissions=36727824
    • Replace YOUR_APPLICATION_ID with your Bot's Application ID from step 1.
  4. Select a server and click "Authorize".
  5. Grant the necessary permissions for Melodix to function correctly (access to text and voice channels).

After adding the bot, build it from sources or download compiled binaries. Docker deployment instructions are available in docker/README.md.

πŸ› οΈ Building Melodix from Sources

This project is written in Go, so ensure your environment is ready. Use the provided scripts to build Melodix Player from sources:

Rename .env.example to .env and store your Discord Bot Token in the DISCORD_BOT_TOKEN variable. Install FFMPEG (only recent versions are supported). If using a portable FFMPEG, specify the path in DCA_FFMPEG_BINARY_PATH in the .env file.

🐳 Docker Deployment

For Docker deployment, refer to docker/README.md for specific instructions.

🌐 REST API

Melodix Player provides several API routes, subject to change.

Guild Routes

History Routes

Avatar Routes

Log Routes

πŸ†˜ Support

For any questions, get support in the Official Discord server.

πŸ† Acknowledgment

I drew inspiration from Muzikas, a user-friendly Discord bot by Fabijan Zulj.

πŸ“œ License

Melodix is licensed under the MIT License.