| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Add a per-track silent flag. Cron already uses play_now (interrupt the
current track), but play_next_locked still announced the track to the last
known text channel; suppress playing and failure announcements for silent
tracks, including when a cron track fails to prepare.
|
| |
|
|
|
|
| |
Acknowledge the interaction with a zero-width ephemeral reply, delete it,
then send the text through ChannelId::say so it lands as a normal channel
message instead of an interaction reply.
|
| |
|
|
|
|
|
|
|
|
|
| |
espeak-rs-sys installs espeak-ng-data into the build tree and compiles that
path in as the default, so the runtime image failed with 'phontab: No such
file or directory'. Copy the data from the builder to /usr/share and point
PIPER_ESPEAKNG_DATA_DIRECTORY there; compose overrides the host path from
.env.
Also trim trailing slashes from Copyparty base URLs, document that env_file
changes need --force-recreate, and clean inline comments in .env.example.
|
| |
|
|
| |
Signed-off-by: salmonik <salmonik@tuta.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Add a multi-stage image that compiles inside Debian trixie and runs on the
same glibc/libssl/libopus, avoiding the Arch-built binary failing on
Debian. The runtime image installs ffmpeg, qalc, the shared libraries, and
the latest yt-dlp zipapp, and runs as uid 1000.
compose.yaml mounts data/ and piper/, overrides TTS_MODEL_PATH for the
container layout, and builds with host networking because the default
Docker bridge DNS cannot resolve crates.io or deb.debian.org on this host.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Signed-off-by: salmonik <salmonik@tuta.io>
|
| |
|
|
| |
Signed-off-by: salmonik <salmonik@tuta.io>
|
| |
|
|
| |
Signed-off-by: salmonik <salmonik@tuta.io>
|
| |
|
|
|
|
| |
/grajcuj'ing
Signed-off-by: salmonik <salmonik@tuta.io>
|
| | |
|
| |
|
|
| |
Signed-off-by: salmonik <salmonik@tuta.io>
|
| |
|
|
| |
Signed-off-by: salmonik <salmonik@tuta.io>
|
| | |
|
| | |
|
| |
|
|
| |
this lets stale records from abrupt stopping be deleted
|
| |
|
|
|
| |
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 <salmonik@tuta.io>
|
| |
|
|
| |
Signed-off-by: salmonik <raisersoft@proton.me>
|
| |
|
|
| |
Signed-off-by: salmonik <raisersoft@proton.me>
|
| |
|
|
| |
Signed-off-by: salmonik <raisersoft@proton.me>
|
| |
|
|
| |
Signed-off-by: salmonik <raisersoft@proton.me>
|
| |
|
|
| |
Signed-off-by: salmonik <raisersoft@proton.me>
|
| |\
| |
| |
| | |
Signed-off-by: salmonik <raisersoft@proton.me>
|
| | |\
| | |
| | |
| | |
| | |
| | | |
(#6) from dev into main
Reviewed-on: https://codeberg.org/salmonik/senator-sperma/pulls/6
|
| | | |
| | |
| | |
| | | |
Signed-off-by: salmonik <raisersoft@proton.me>
|
| |/ /
| |
| |
| | |
Signed-off-by: salmonik <raisersoft@proton.me>
|