Audio Commands
This content is for v1.0.0. Switch to the latest version for up-to-date documentation.
The audio_commands plugin provides playback control for the audio engine. It reads and modifies playback state through ctx.audio but never acquires DNI (Do-Not-Interrupt) itself. Volume, loop, and ducking commands work even when idle; other commands check DNI status before operating.
Commands
Section titled “Commands”| Command | Description | Roles | Aliases |
|---|---|---|---|
audiostatus |
Show the audio interface status | admin | — |
queue |
Display the audio queue | user | q |
pause |
Pause the current track | dj | — |
resume |
Resume the paused track | dj | — |
playing |
Show the currently playing track | dj | now |
replay |
Replay the current track | dj | rp |
shuffle |
Shuffle the audio queue | dj | — |
skip [n] |
Skip to the nth track | moderator | next |
stop |
Stop playback and clear the queue | dj | — |
clear |
Clear the audio queue | dj | clr |
loop |
Toggle track looping | dj | l |
remove <n> |
Remove a track by queue index | dj | — |
seek <time> |
Seek to position (seconds, mm:ss, or hh:mm:ss) |
dj | — |
volume [0..1] |
Get or set volume | dj | v |
duckaudio |
Toggle audio ducking | admin | — |
duckvolume [0..1] |
Get or set ducking volume | admin | — |
duckthreshold [value] |
Get or set ducking threshold | admin | — |
duckstartdelay [0..5] |
Get or set ducking start delay (seconds) | admin | — |
duckenddelay [0..5] |
Get or set ducking end delay (seconds) | admin | — |
- DNI awareness: Playback commands (
pause,resume,skip,stop, etc.) respect the Do-Not-Interrupt state. If DNI is active and the caller lacks override privileges, these commands will be blocked. - Volume accepts a float between
0.0and1.0. With no argument it returns the current level. - Seek accepts raw seconds (
90),mm:ss(1:30), orhh:mm:ss(0:01:30). - Audio ducking lowers playback volume when a user speaks. The threshold, start delay, and end delay control sensitivity and timing.
- Roles: Commands gated to
djrequire the caller to have thedjrole or higher.admincommands require theadminrole.