aboutsummaryrefslogtreecommitdiffstats
path: root/src/commands/utilities.rs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* downloads: cap yt-dlp media sizesalmonik4 days1-0/+15
|
* net: block private and link-local URLssalmonik4 days1-0/+5
|
* processes: add timeouts and keep decoding off the runtimesalmonik4 days1-4/+11
|
* commands: gate admin, trigger, cron and recording behind permissionssalmonik4 days1-1/+1
|
* 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
|
* 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.
* music: add per-guild queue with now/next/last, skip and queuesalmonik12 days1-1/+1
| | | | | | | | | | 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.
* message-contextual /grajcujsalmonik2026-09-091-12/+34
| | | | Signed-off-by: salmonik <salmonik@tuta.io>
* make /grajcuj w\ compress finally work as compressing a file and thensalmonik2026-09-091-5/+67
| | | | | | /grajcuj'ing Signed-off-by: salmonik <salmonik@tuta.io>
* fix: auto completion timing out before ready + fix preexisting warnssalmonik2026-07-301-3/+2
|
* OPEN THE RUST GATESsalmonik2026-07-081-0/+918
Signed-off-by: salmonik <raisersoft@proton.me>