index
:
senator-sperma
main
Very big discord bot.
about
summary
refs
log
tree
commit
diff
stats
log msg
author
committer
range
path:
root
/
compose.yaml
(
unfollow
)
Commit message (
Expand
)
Author
Files
Lines
4 days
tests: skip the piper smoke test when models are absent
salmonik
1
-2
/
+8
4 days
events: track voice channel moves
salmonik
1
-0
/
+16
4 days
tts: initialize piper exactly once
salmonik
1
-42
/
+39
4 days
music: keep preparation out of the guild lock and requeue failed connects
salmonik
1
-99
/
+119
4 days
docs: sync with current behavior
salmonik
5
-40
/
+57
4 days
config: harden the shared temp directory
salmonik
3
-8
/
+65
4 days
docker: pin and verify a week-old yt-dlp release
salmonik
2
-6
/
+13
4 days
leaderboard: use competition ranks consistently
salmonik
1
-1
/
+8
4 days
web: percent-encode UTF-8 query bytes
salmonik
1
-7
/
+22
4 days
autocomplete: key results by extension filter and reject the placeholder
salmonik
3
-7
/
+27
4 days
cron: validate expressions and allocate ids atomically
salmonik
4
-19
/
+19
4 days
music: reject live streams on the yt-dlp path
salmonik
2
-0
/
+9
4 days
music: decode compressed playback without a temp file
salmonik
2
-12
/
+34
4 days
tts: attach the generated WAV without a temp file
salmonik
1
-11
/
+3
4 days
qr: cap image dimensions and allocation
salmonik
1
-2
/
+12
4 days
downloads: cap yt-dlp media size
salmonik
2
-0
/
+27
4 days
net: drop unused import
salmonik
1
-1
/
+1
4 days
config: make voice recording opt-in
salmonik
1
-4
/
+4
4 days
net: block private and link-local URLs
salmonik
8
-1
/
+151
4 days
docker: install ImageMagick for image compress/convert
salmonik
2
-0
/
+2
4 days
music: announce a directly started track once
salmonik
1
-8
/
+10
4 days
cron: simplify the first-fire lookup
salmonik
1
-8
/
+1
4 days
recording: reject a zero-length window
salmonik
2
-2
/
+16
4 days
cron/triggers: keep pre-scoping rows manageable
salmonik
2
-8
/
+15
4 days
tts: run piper loading and synthesis on blocking threads
salmonik
1
-16
/
+28
4 days
processes: add timeouts and keep decoding off the runtime
salmonik
4
-29
/
+53
4 days
http: add connect and request timeouts
salmonik
5
-3
/
+21
4 days
tts: bound the audio cache and request length
salmonik
1
-5
/
+86
4 days
autocomplete: bound the in-memory caches
salmonik
1
-6
/
+24
4 days
events: never join or move voice just to play TTS
salmonik
1
-8
/
+16
4 days
recording: keep one buffer per guild
salmonik
3
-34
/
+41
4 days
triggers: scope groups to the guild that created them
salmonik
4
-24
/
+64
4 days
cron: scope jobs to the guild that created them
salmonik
2
-19
/
+47
4 days
commands: gate admin, trigger, cron and recording behind permissions
salmonik
4
-14
/
+18
4 days
utilities: sanitize filenames and isolate temp operations
salmonik
1
-48
/
+105
4 days
yt-dlp: ignore configs and stop option injection
salmonik
2
-3
/
+16
4 days
copyparty: never send the password to foreign hosts
salmonik
4
-28
/
+165
6 days
say: do not abort if the ephemeral ack is already gone
salmonik
1
-1
/
+3
6 days
cron: keep scheduled audio silent
salmonik
3
-3
/
+12
6 days
say: post text as a normal message after an invisible ack
salmonik
1
-7
/
+15
11 days
docker: bake espeak-ng data for Piper TTS
salmonik
5
-9
/
+47
11 days
contextual play should add to the last in the queue
salmonik
1
-8
/
+6
11 days
docker: build and run on Debian trixie
salmonik
4
-0
/
+156
11 days
music: group playback commands under /music
salmonik
5
-31
/
+66
11 days
music: add per-guild queue with now/next/last, skip and queue
salmonik
6
-269
/
+790
2026-09-09
silence songbird udp_rx decode noise
salmonik
1
-1
/
+6
2026-09-09
record: 2x gain on mp3 encode
salmonik
1
-0
/
+5
2026-09-09
test recorder ring semantics; extract mix_tick
salmonik
1
-50
/
+187
2026-09-09
wire recording into voice manager, config, events, /record command
salmonik
8
-5
/
+158
2026-09-09
first draft
salmonik
2
-0
/
+410
[next]