Currently Pending Rewrite to DST
- High-Quality Audio: Delivers smooth, high-quality music streaming.
- Dual Operating Modes: Choose between using external Lavalink nodes for scalability or a simple, integrated Lavaplayer for ease of use. - Expanded Source Support: Play music from YouTube, SoundCloud, Spotify, Apple Music, Deezer, Tidal, and more.
- Hybrid Commands: Supports both modern slash commands (
/) and traditional prefix-based commands for flexibility. - Full Queue Control: A comprehensive queue system with options to repeat tracks or the entire queue.
- Easy Configuration: A single, well-documentedsettings.ymlfile makes configuration a breeze. - Lyrics Support: Fetch lyrics for songs, with a "live lyrics" feature that highlights the current line.
Here are all the available music commands:
| Command | Description |
|---|---|
/play <song> |
Plays a song or adds it to the queue. Can be a song name, YouTube URL, SoundCloud URL, etc. |
| /pause | Pauses the currently playing track. |
| /resume | Resumes playback if paused. |
| /stop | Stops playback and clears the queue. |
| /skip | Skips the current track and plays the next one in the queue. |
/repeat <mode> |
Sets the repeat mode. Options: false/off (no repeat), true/all (repeat queue), one/single (repeat current track). |
/volume <1-150> |
Sets the volume (1-150). |
| /status | Shows the current playback status and queue information. |
| /version | Displays the current version of the bot. |
| /changenode | Changes to a different Lavalink node if using multiple nodes. |
| /lyrics | Shows you the lyrics of the currently playing song and starts live lyrics if avalible. |
| /stoplive | Stops the Live Lyrics (if playing). |
Note: If you receive the error "Unknown Interaction", try restarting your Discord client with Ctrl+R
This guide is for running the bot using the pre-compiled releases. No development tools are required.
- Java 23 or higher: You need Java installed to run the
.jarfile. - A Discord Bot Token: Create a bot application in the Discord Developer Portal.
- A running Lavalink Server (Optional): Only required if you choose thenodesoperating mode.
-
Download the Bot Go to the Latest Release Page on GitHub. Download the
.jarfile (e.g.,LavMusicBot-1.0.0.jar) and save it to a new, empty folder. -
Generate the Configuration File Open your terminal or command prompt, navigate to the folder where you saved the bot, and run it for the first time:
java -jar LavMusicBot-1.0.0.jar
(Replace
LavMusicBot-1.0.0.jarwith the actual name of the file you downloaded).The bot will state that a new configuration file was created and then shut down. You will now see a
settings.ymlfile in the folder. -
Edit the Configuration Open the newly created
settings.ymlfile with any text editor. Follow the guide below to configure the bot. You must at least provide yourdiscord-bot-token. -
Remote Cipher Server If you want the best experience it is very recommended to host a
Remote cipher serveryourself. Instructions on How to do that are at https://github.com/kikkia/yt-cipher. After Hosting a Remote Cipher Server you need to fill out theremote-ciphering-server-urlandremote-ciphering-server-passwordin thesettings.ymlfile. -
Run the Bot Once you have saved your changes to
settings.yml, run the same command again:java -jar LavMusicBot.jar
This time, the bot will read your configuration and connect to Discord. Congratulations!
The settings.yml file is your control panel for the bot. The most important setting is operating-mode, which
determines how the bot handles audio.
~ ~
These sections are configured towards the bottom of the settings.yml file. Please refer to the detailed comments in
the generated file for instructions on setting up role-based permissions and the lyrics feature.
Here are some of the features planned for future updates:
- Auto-Leave: The bot will automatically leave the voice channel after a configurable amount of time when it's left alone.
- /lyrics Command: A new command to fetch and display the lyrics for the currently playing song. (Using MusixMatch)
- Live Lyrics: Highlight the current line of the song being played
- Single-Guild Mode: An option in the config to restrict the bot to operate in only one server, simplifying permissions and setup for private use.
- DJ Role: A configurable "DJ role" that can exclusively use music commands.
