Skip to content

Audio Commands

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.

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.0 and 1.0. With no argument it returns the current level.
  • Seek accepts raw seconds (90), mm:ss (1:30), or hh: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 dj require the caller to have the dj role or higher. admin commands require the admin role.