| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Tracks are queued in memory per guild, defaulting to append (last).
Playback auto-advances on TrackEvent::End/Error with a per-track token
so manual stops and skips cannot double-advance. /music queue shows the
current track followed by pending items. /stop clears the queue.
Cron audio now goes through the same MusicState instead of poking the
track-handle map directly.
|
| |
|
|
| |
Signed-off-by: salmonik <salmonik@tuta.io>
|
| | |
|
| | |
|
| |
|
|
|
| |
Not saving full URL
Not using autocompletion content, just label
|
| |
|
|
|
|
|
|
|
|
|
| |
- New src/tts.rs: centralize TTS in synthesize(config, http_client, text)
Piper subprocess primary, Google Translate fallback on error/missing
- TTS_MODEL_PATH/TTS_VOICE env config (defaults to pl_PL-bass-high)
- Fix Unknown interaction errors: spawn play_tts_in_channel in background
so voice-state TTS no longer blocks the shard event loop (3s Discord limit)
- Best-effort confirmation replies in /tts to prevent error cascade
- Custom on_error handler: graceful interaction-expired error handling
- Comprehensive tracing logging (engine, model, duration, stderr)
|
| | |
|
| | |
|
|
|
Signed-off-by: salmonik <raisersoft@proton.me>
|