NextSetup Music Bot V1
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.
Highlights
- High-quality audio-focused playback system.
- Stable Discord voice playback powered by
discord-player,@discordjs/voice, andffmpeg-static. - YouTube video, playlist, Shorts, live URL, and search support.
- Spotify URL handling by converting tracks into playable search queries.
- Modern Discord slash commands.
- Components V2 now-playing panel with interactive controls.
- Button controls for previous, pause/resume, stop, skip, shuffle, queue, volume, autoplay, and lyrics.
- Lyrics preview support.
- Autoplay and loop modes.
- Queue, history, shuffle, remove, and clear management.
- Volume control from 10 to 150.
- Queue support for up to 500 tracks.
- Playback history support for up to 50 tracks.
- Multi-language system: English, Turkish, French, German, Italian, Russian, and Chinese.
- Local HTTP API for health checks, queue inspection, and remote playback control.
- NextSetup license verification before the bot starts.
Audio Quality
NextSetup Music Bot V1 is built with audio quality in mind. Its playback stack usesffmpeg-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.
Commands
/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.Now Playing Panel
The/nowplaying command opens an interactive music control panel. Users can manage playback without typing extra commands.Panel controls:
- Previous track
- Pause and resume
- Stop playback
- Skip track
- Shuffle queue
- View queue
- Change volume with a modal
- Toggle autoplay
- View lyrics
License Protection
The bot verifies theLICENSE_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:
- Discord bot login
- Local API startup
- Player initialization flow completion
Installation
1. Requirements
Before installing the bot, make sure you have:- Node.js 20 or newer
- npm
- A Discord application and bot created in the Discord Developer Portal
- A Discord bot token
- Your Discord application client ID
- A valid NextSetup license key
2. Open the Project Folder
Open a terminal inside the project directory.
Bash:
cd path/to/nextsetup-music-bot
3. Install Dependencies
Bash:
npm install
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:
Bash:
npm install --ignore-scripts
yt-dlp binary, the youtube-dl-exec postinstall step must complete successfully.
4. Create the .env File
Create a .env file in the project root using .env.example as a template.
Code:
BOT_TOKEN=PASTE_YOUR_DISCORD_BOT_TOKEN_HERE
CLIENT_ID=your_bot_client_id
GUILD_ID=
LICENSE_KEY=your_license_key_here
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
API_HOST=127.0.0.1
API_PORT=3000
API_TOKEN=
YOUTUBE_COOKIE=
YOUTUBE_COOKIE_FILE=cookies.txt
YOUTUBE_USE_YTDLP=false
Environment variables:
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.
5. Deploy Slash Commands
Bash:
npm run deploy
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.
6. Run in Development Mode
Bash:
npm run dev
tsx.
7. Build for Production
Bash:
npm run build
src folder into the dist folder.
8. Start the Bot
Bash:
npm start
Local API
The local API runs on:
Code:
http://127.0.0.1:3000
API_HOST and API_PORT.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:
JSON:
{
"action": "pause"
}
Code:
pause, resume, pause_resume, skip, stop, shuffle, autoplay, volume
API_TOKEN is set, include one of these headers:
HTTP:
Authorization: Bearer your_api_token
HTTP:
x-api-token: your_api_token
YouTube Cookies
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:
Code:
YOUTUBE_COOKIE_FILE=cookies.txt
Scripts
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.Configuration
Main settings live inconfig.js.You can customize:
- Bot presence text
- API host and port
- Default language
- Available languages
- Default, minimum, and maximum volume
- Queue and history limits
- Autoplay behavior
- YouTube stream settings
- Panel colors and buttons
- Lyrics preview settings
Summary
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.
Important Notice
License activation is required to run the bot.If you need help with your license, please join our official Discord server and open a support ticket.
When contacting support, include your license key and a detailed description of your issue for faster assistance.
