aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* config: harden the shared temp directorysalmonik4 days1-0/+1
|
* net: block private and link-local URLssalmonik4 days1-0/+1
|
* http: add connect and request timeoutssalmonik5 days1-1/+6
|
* autocomplete: bound the in-memory cachessalmonik5 days1-6/+24
|
* music: group playback commands under /musicsalmonik12 days1-1/+38
| | | | | | | | | 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.
* music: add per-guild queue with now/next/last, skip and queuesalmonik12 days1-6/+10
| | | | | | | | | | 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.
* silence songbird udp_rx decode noisesalmonik2026-09-091-1/+6
| | | | Signed-off-by: salmonik <salmonik@tuta.io>
* wire recording into voice manager, config, events, /record commandsalmonik2026-09-091-2/+20
|
* feat: piper now not a subprocess, cache system for TTSsalmonik2026-09-051-0/+5
|
* fix: Various cron fixessalmonik2026-08-191-2/+5
| | | | | Not saving full URL Not using autocompletion content, just label
* feat: local TTS via piper subprocess with Google fallbacksalmonik2026-08-181-7/+31
| | | | | | | | | | | - 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)
* fir auto completion and send file in the response body upon grajcuj filesalmonik2026-07-311-1/+1
|
* fix: auto completion timing out before ready + fix preexisting warnssalmonik2026-07-301-9/+48
|
* OPEN THE RUST GATESsalmonik2026-07-081-0/+190
Signed-off-by: salmonik <raisersoft@proton.me>