docs: add music discovery, autoplay, and Mumble admin sections
Some checks failed
CI / gitleaks (push) Failing after 3s
CI / lint (push) Failing after 23s
CI / test (3.11) (push) Has been skipped
CI / test (3.12) (push) Has been skipped
CI / test (3.13) (push) Has been skipped
CI / build (push) Has been skipped

- USAGE.md: music discovery (!similar, !tags), autoplay discovery
  config, Mumble admin (!mu) command reference
- CHEATSHEET.md: music discovery and Mumble admin quick reference
- ROADMAP.md: mark v2.4.0 as done, add MB fallback + !mu + autoplay
- TODO.md: mark music discovery and performance items as done
- PROJECT.md: update plugin categories table
- TASKS.md: close open doc items

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
user
2026-02-23 22:04:03 +01:00
parent 62a4191200
commit ad12843e75
6 changed files with 122 additions and 15 deletions

View File

@@ -605,6 +605,38 @@ Skip/stop/prev/seek fade out smoothly (~0.8s); volume ramps over ~1s.
Auto-resumes on reconnect if channel is silent (waits up to 60s for silence).
Mumble-only: `!play` replies with error on other adapters, others silently no-op.
## Music Discovery
```
!similar # Similar to currently playing track
!similar <artist> # Similar artists to named artist
!similar play # Queue a random similar track
!similar play <artist># Queue similar track for named artist
!tags # Genre tags for current artist
!tags <artist> # Genre tags for named artist
```
Uses Last.fm when API key is set; falls back to MusicBrainz automatically.
Config: `[lastfm] api_key` or `LASTFM_API_KEY` env var.
## Mumble Admin (admin)
```
!mu kick <user> [reason] # Kick user
!mu ban <user> [reason] # Ban user
!mu mute <user> # Server-mute
!mu unmute <user> # Remove server-mute
!mu deafen <user> # Server-deafen
!mu undeafen <user> # Remove server-deafen
!mu move <user> <channel> # Move user to channel
!mu users # List connected users
!mu channels # List channels
!mu mkchan <name> [parent] # Create channel
!mu rmchan <name> # Remove empty channel
!mu rename <old> <new> # Rename channel
!mu desc <channel> <text> # Set channel description
```
## Plugin Template
```python