
$30.00
NextSetup Music Bot V1 is a modern, high-quality Discord music bot built for smooth playback, clean controls, and a polished server experience. It includes slash commands, a rich now-playing panel, queue management, lyrics preview, autoplay, local API controls, multi-language support, and NextSetup license protection.
The bot is designed to feel professional from the first run: easy to configure, simple to operate, and powerful enough for active Discord communities.
discord-player, @discordjs/voice, and ffmpeg-static.NextSetup Music Bot V1 is built with audio quality in mind. Its playback stack uses ffmpeg-static, @discordjs/voice, discord-player, and tuned YouTube stream settings to provide clean, powerful, and stable audio in Discord voice channels.
The default configuration uses a strong playback volume and a high stream buffer setting, helping tracks sound fuller, clearer, and smoother during active use. For communities that care about music quality, this is one of the bot's strongest advantages.
| Command | Description |
|---|---|
/play query:<song or link> | Plays a song, playlist, or supported URL. |
/queue | Shows the current music queue. |
/nowplaying | Opens the current playback panel. |
/pause | Pauses playback. |
/resume | Resumes playback. |
/skip | Skips the current track. |
/previous | Plays the previous track from history. |
/stop | Stops playback and clears the queue. |
/shuffle | Toggles shuffle mode. |
/loop mode:<off/track/queue/autoplay> | Sets the loop or autoplay mode. |
/volume amount:<10-150> | Changes playback volume. |
/remove position:<number> | Removes a track from the queue. |
/clear | Clears all upcoming tracks. |
The /nowplaying command opens an interactive music control panel. Users can manage playback without typing extra commands.
Panel controls:
The panel displays the track title, artist, requester, playback time, volume, loop mode, shuffle state, and upcoming tracks in one clean interface.
The bot verifies the LICENSE_KEY value from the .env file before it starts. If the license is missing, invalid, or cannot be verified, the bot exits and does not continue.
License verification happens before:
This keeps the product protected and prevents unauthorized deployments from running successfully.
Before installing the bot, make sure you have:
Open a terminal inside the project directory.
cd path/to/nextsetup-music-bot
npm install
During installation, youtube-dl-exec may download an extra binary. If you hit a GitHub rate limit while installing dependencies, you can install packages for development and build tasks with:
npm install --ignore-scripts
Note: If your playback path requires the yt-dlp binary, the youtube-dl-exec postinstall step must complete successfully.
.env FileOpen the included .env file in the project root and fill in your own values. At minimum, you must set:
BOT_TOKENCLIENT_IDLICENSE_KEYOptional values such as Spotify credentials, API protection, and YouTube cookies can be configured later if needed.
Environment variables:
| Variable | Description |
|---|---|
BOT_TOKEN | Your Discord bot token. This project uses this exact token variable name. |
CLIENT_ID | Your Discord application/client ID. |
GUILD_ID | Optional test guild ID. If set, slash commands deploy to that guild only. |
LICENSE_KEY | Your NextSetup license key. Required. |
SPOTIFY_CLIENT_ID | Optional Spotify client ID. |
SPOTIFY_CLIENT_SECRET | Optional Spotify client secret. |
API_HOST | Local API host. Default: 127.0.0.1. |
API_PORT | Local API port. Default: 3000. |
API_TOKEN | Optional token for protecting /api/* routes. |
YOUTUBE_COOKIE | Optional single-line YouTube cookie value. Usually left empty. |
YOUTUBE_COOKIE_FILE | Netscape-format cookie file path. Default: cookies.txt. |
YOUTUBE_USE_YTDLP | Optional YT-DLP usage flag. Default: false. |
npm run deploy
If GUILD_ID is set, commands are deployed quickly to that guild. If GUILD_ID is empty, commands are deployed globally and may take longer to appear in Discord.
npm run dev
This runs the TypeScript source directly with tsx.
npm run build
This compiles the src folder into the dist folder.
npm start
On successful startup, the console will show license verification, local API startup, and Discord login messages.
The local API runs on:
http://127.0.0.1:3000
You can change the host and port with API_HOST and API_PORT.
| Endpoint | Description |
|---|---|
GET /health | Returns bot status, guild count, and active queue count. |
GET /api/queues | Lists active music queues. |
GET /api/guilds/:guildId/queue | Returns the queue for a specific guild. |
POST /api/guilds/:guildId/control | Runs a playback control action. |
Control request example:
{
"action": "pause"
}
Supported actions:
pause, resume, pause_resume, skip, stop, shuffle, autoplay, volume
If API_TOKEN is set, include one of these headers:
Authorization: Bearer your_api_token
or:
x-api-token: your_api_token
For more stable YouTube access, you can use a cookie file. Do not paste multi-line cookie exports directly into .env. Save a Netscape-format cookie export as cookies.txt and keep:
YOUTUBE_COOKIE_FILE=cookies.txt
| Script | Description |
|---|---|
npm run dev | Runs the bot in TypeScript development mode. |
npm run deploy | Deploys slash commands to Discord. |
npm run typecheck | Runs TypeScript type checking. |
npm run build | Builds the production dist folder. |
npm start | Starts the compiled bot from dist/index.js. |
Main settings live in config.js.
You can customize:
NextSetup Music Bot V1 is a polished Discord music bot focused on high audio quality, clean controls, reliable playback, strong queue management, license protection, and an easy installation flow.
Install it, add your license key, deploy the commands, and bring a premium music experience to your Discord server.