aboutsummaryrefslogtreecommitdiffstats
path: root/README.md (follow)
Commit message (Collapse)AuthorAgeFilesLines
* docker: bake espeak-ng data for Piper TTSsalmonik11 days1-5/+21
| | | | | | | | | | | 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.
* docker: build and run on Debian trixiesalmonik12 days1-0/+41
| | | | | | | | | | | 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.
* music: group playback commands under /musicsalmonik12 days1-4/+6
| | | | | | | | | 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.
* feat: local TTS via piper subprocess with Google fallbacksalmonik2026-08-181-1/+7
| | | | | | | | | | | - 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)
* OPEN THE RUST GATESsalmonik2026-07-081-64/+95
| | | | Signed-off-by: salmonik <raisersoft@proton.me>
* requirements shenaniganssalmonik2026-05-211-1/+1
| | | | Signed-off-by: salmonik <raisersoft@proton.me>
* chore: update .gitignore, minor README fixsalmonik2026-04-191-1/+0
|
* refactor + preparing bot for public usesalmonik2026-04-181-2/+92
| | | | Signed-off-by: salmonik <raisersoft@proton.me>
* requirementssalmonik2026-03-181-0/+2
|
* Create README.mdSamlon2025-05-201-0/+1