feat(music): add a stop command

Clears the whole queue and disconnects, mirrors the existing Stop
Manager function, just wires it up to the outbox like every other
dashboard command.
This commit is contained in:
2026-08-29 19:48:43 +01:00
parent da66eb8dd5
commit 52dfe859ee
2 changed files with 4 additions and 1 deletions
+3
View File
@@ -64,6 +64,9 @@ func dispatchCommand(cmd musicrepo.MusicCommand) error {
case "resume": case "resume":
return Pause(guildID, false) return Pause(guildID, false)
case "stop":
return Stop(guildID)
case "set_volume": case "set_volume":
var payload struct { var payload struct {
Volume int `json:"volume"` Volume int `json:"volume"`
+1 -1
View File
@@ -170,7 +170,7 @@ CREATE TABLE IF NOT EXISTS music_queue (
CREATE TABLE IF NOT EXISTS music_commands ( CREATE TABLE IF NOT EXISTS music_commands (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
guild_id BIGINT NOT NULL, guild_id BIGINT NOT NULL,
command_type TEXT NOT NULL CHECK (command_type IN ('skip', 'pause', 'resume', 'set_volume', 'remove_track', 'reorder', 'repeat_song', 'repeat_queue', 'add_song')), command_type TEXT NOT NULL CHECK (command_type IN ('skip', 'pause', 'resume', 'set_volume', 'remove_track', 'reorder', 'repeat_song', 'repeat_queue', 'add_song', 'stop')),
payload JSONB, payload JSONB,
requested_by BIGINT NOT NULL, requested_by BIGINT NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW(), created_at TIMESTAMPTZ DEFAULT NOW(),