aboutsummaryrefslogtreecommitdiffstats
path: root/src/commands (follow)
Commit message (Collapse)AuthorAgeFilesLines
* processes: add timeouts and keep decoding off the runtimesalmonik4 days3-13/+33
|
* http: add connect and request timeoutssalmonik4 days1-0/+3
|
* recording: keep one buffer per guildsalmonik4 days1-3/+4
|
* triggers: scope groups to the guild that created themsalmonik4 days2-7/+15
|
* cron: scope jobs to the guild that created themsalmonik4 days1-4/+12
|
* commands: gate admin, trigger, cron and recording behind permissionssalmonik4 days4-14/+18
|
* utilities: sanitize filenames and isolate temp operationssalmonik4 days1-48/+105
|
* yt-dlp: ignore configs and stop option injectionsalmonik4 days1-2/+6
|
* copyparty: never send the password to foreign hostssalmonik4 days1-2/+6
|
* say: do not abort if the ephemeral ack is already gonesalmonik6 days1-1/+3
|
* cron: keep scheduled audio silentsalmonik6 days1-0/+1
| | | | | | | 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.
* say: post text as a normal message after an invisible acksalmonik6 days1-7/+15
| | | | | | 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.
* contextual play should add to the last in the queuesalmonik12 days1-8/+6
| | | | Signed-off-by: salmonik <salmonik@tuta.io>
* music: group playback commands under /musicsalmonik12 days1-21/+7
| | | | | | | | | 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 days2-217/+140
| | | | | | | | | | 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.
* wire recording into voice manager, config, events, /record commandsalmonik2026-09-091-0/+2
|
* first draftsalmonik2026-09-091-0/+102
|
* /grajcuj plays video-like extensions toosalmonik2026-09-092-9/+9
| | | | Signed-off-by: salmonik <salmonik@tuta.io>
* message-contextual /grajcujsalmonik2026-09-092-13/+57
| | | | Signed-off-by: salmonik <salmonik@tuta.io>
* assistant replies to the messagesalmonik2026-09-091-1/+1
| | | | Signed-off-by: salmonik <salmonik@tuta.io>
* make /grajcuj w\ compress finally work as compressing a file and thensalmonik2026-09-092-8/+85
| | | | | | /grajcuj'ing Signed-off-by: salmonik <salmonik@tuta.io>
* feat: piper now not a subprocess, cache system for TTSsalmonik2026-09-052-10/+9
|
* feat: leaderboadssalmonik2026-08-192-0/+331
|
* fix: Various cron fixessalmonik2026-08-191-1/+11
| | | | | Not saving full URL Not using autocompletion content, just label
* feat: local TTS via piper subprocess with Google fallbacksalmonik2026-08-182-51/+22
| | | | | | | | | | | - 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-2/+34
|
* fix: auto completion timing out before ready + fix preexisting warnssalmonik2026-07-306-98/+189
|
* fix assistant and senatorsalmonik2026-07-131-15/+3
| | | | Signed-off-by: salmonik <salmonik@tuta.io>
* search for mp4's toosalmonik2026-07-091-1/+5
| | | | Signed-off-by: salmonik <raisersoft@proton.me>
* truncate search resultssalmonik2026-07-081-14/+17
| | | | Signed-off-by: salmonik <raisersoft@proton.me>
* remember links during audio file completionsalmonik2026-07-081-4/+6
| | | | Signed-off-by: salmonik <raisersoft@proton.me>
* OPEN THE RUST GATESsalmonik2026-07-0811-0/+2308
Signed-off-by: salmonik <raisersoft@proton.me>