diff options
| author | salmonik <salmonik@tuta.io> | 2026-10-27 18:18:07 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-10-27 18:18:07 +0100 |
| commit | bab3f614f8b42545fdb0101c4e353c87e0966d47 (patch) | |
| tree | c257bc4712bba088bea2eab42d93b07e9cfed89c /CONTEXT.md | |
| parent | music: add per-guild queue with now/next/last, skip and queue (diff) | |
| download | senator-sperma-bab3f614f8b42545fdb0101c4e353c87e0966d47.tar.gz senator-sperma-bab3f614f8b42545fdb0101c4e353c87e0966d47.zip | |
music: group playback commands under /music
Graduate grajcuj/skip/queue/stop/join into the /music parent and drop the
top-level names. On startup, reconcile global slash commands and delete
any that are no longer registered, since Discord otherwise keeps stale
commands after a rename or move.
Docs updated for the new command layout and queue semantics.
Diffstat (limited to 'CONTEXT.md')
| -rw-r--r-- | CONTEXT.md | 12 |
1 files changed, 11 insertions, 1 deletions
| @@ -50,7 +50,17 @@ holds no implementation decisions or specs (those live in `docs/adr/`). | |||
| 50 | 50 | ||
| 51 | ## Music Playback | 51 | ## Music Playback |
| 52 | 52 | ||
| 53 | - **Compressed playback** — `/grajcuj \w compressed`: downloads audio, runs | 53 | - **Queue** — per-guild, in-memory list of tracks waiting to play. Lost on |
| 54 | restart. `/music queue` shows the current track first, then the pending | ||
| 55 | items in play order. | ||
| 56 | - **Position** — where `/music grajcuj` inserts a track: `now` interrupts the | ||
| 57 | current track, `next` inserts after it, `last` appends (default). When | ||
| 58 | nothing is playing, every position starts playback immediately. | ||
| 59 | - **Skip** — stop the current track and play the next queued one. With an | ||
| 60 | empty queue, playback stops but the bot stays in the voice channel. | ||
| 61 | - **Auto-advance** — when a track ends (or errors), the next queued track is | ||
| 62 | started automatically and announced in the channel. | ||
| 63 | - **Compressed playback** — `/music grajcuj ... compressed`: downloads audio, runs | ||
| 54 | through the /compress pipeline (Opus 500bps, 12 kHz, mono → OGG), then | 64 | through the /compress pipeline (Opus 500bps, 12 kHz, mono → OGG), then |
| 55 | decodes the compressed file via symphonia for playback. Produces properly | 65 | decodes the compressed file via symphonia for playback. Produces properly |
| 56 | destroyed audio via Opus codec, not just raw low-sample-rate PCM. | 66 | destroyed audio via Opus codec, not just raw low-sample-rate PCM. |
