Discord Player

Discord Player v8

Queues, playback controls, and source plugins for Discord music bots, with audio handled by Remedia.

You are reading the v8 docsDev

Development preview

v8 is in development and its API can still change. The stable release is documented in v7.

Discord Player manages queues, playback controls, and events for Discord music bots. Remedia decodes audio and sends it over Discord voice, either inside your bot process or on a separate server.

What you need

RequirementDetails
RuntimeNode.js 22.18 or newer, ESM
Discord botAny gateway library. The tutorial uses discord.js
Source pluginTurns a query into tracks and audio. The generated bot includes one
FFmpeg 9Shared libraries on the machine that runs the audio engine. See FFmpeg

How the pieces fit

Your bot(commands, gateway) Discord Player(queues, plugins) Remedia(decode, voice) Discord voice
View Mermaid source
Mermaid source
flowchart LR
  Bot["Your bot<br/>(commands, gateway)"] --> Player["Discord Player<br/>(queues, plugins)"]
  Player --> Remedia["Remedia<br/>(decode, voice)"]
  Remedia --> Discord["Discord voice"]

Your bot owns the Discord connection and commands. Discord Player owns tracks, queues, and source plugins. Remedia owns decoding and voice transport. The architecture section covers the details.

Where to go next

I want toRead
Build my first botGetting started
Add it to an existing botManual setup
Add a music providerSource plugins
Run audio on another machineRemote playback
Upgrade a v7 botMigration guide
Look up a method or eventAPI reference

On this page