Discord Bot

BEATDOCK

The Ultimate Music Bot for Discord
Slash Commands • Multi-Language • Docker Ready

YouTube Support
Multi-Language
Docker Ready

POWERFUL FEATURES

Everything you need for the perfect music experience

High-Quality Audio

Powered by Lavalink for crystal-clear music playback with minimal latency

Slash Commands

Modern Discord slash commands with auto-completion for ease of use

Multi-Language

Built-in support for English and Spanish, easily extendable for more languages

Docker Ready

Deploy in seconds with Docker Compose - no complex setup required

Role Permissions

Control access with role-based permissions and admin overrides

Stateless Design

No database required - perfect for containerized deployments

COMMANDS

All available slash commands at your fingertips

/play Essential

Play a song or playlist from YouTube

/skip Playback

Skip the current song

/stop Control

Stop playback and clear the queue

/pause Playback

Toggle pause/resume

/queue Info

Show the current queue

/nowplaying Info

Show current song info

/shuffle Queue

Shuffle the queue

/volume Control

Set playback volume (0-100)

/clear Queue

Clear the entire queue

/back Playback

Play the previous track

QUICK SETUP

Get BeatDock running in just 4 simple steps

1

Clone the Repository

Get the source code on your machine

git clone https://github.com/lazaroagomez/BeatDock.git
cd BeatDock
2

Configure Environment

Create a .env file with your bot credentials

# Discord Bot Configuration
TOKEN=your_discord_bot_token_here
CLIENT_ID=your_discord_client_id_here

# Lavalink Configuration
LAVALINK_HOST=lavalink
LAVALINK_PORT=2333
LAVALINK_PASSWORD=youshallnotpass

# Optional Settings
DEFAULT_LANGUAGE=en
ALLOWED_ROLES=
3

Deploy Commands

Register slash commands with Discord

docker compose run --rm bot npm run deploy
4

Start the Bot

Launch BeatDock with Docker Compose

docker compose up -d

PERMISSIONS

Control who can use your bot

Admin Override

Users with Administrator permissions always have full access to all bot commands

Role-Based Access

Configure specific roles that can use the bot by adding role IDs to your .env file

ALLOWED_ROLES=123456789012345678,234567890123456789

Default Behavior

If no roles are specified, everyone can use the bot