<feed xmlns='http://www.w3.org/2005/Atom'>
<title>senator-sperma/Cargo.toml, branch main</title>
<subtitle>Very big discord bot.
</subtitle>
<id>https://git.2137697.xyz/senator-sperma/atom?h=main</id>
<link rel='self' href='https://git.2137697.xyz/senator-sperma/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/'/>
<updated>2026-11-04T00:29:57Z</updated>
<entry>
<title>net: block private and link-local URLs</title>
<updated>2026-11-04T00:29:57Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-04T00:29:57Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=4b2b4af606237def78273a42e881ae9f971cb505'/>
<id>urn:sha1:4b2b4af606237def78273a42e881ae9f971cb505</id>
<content type='text'>
</content>
</entry>
<entry>
<title>wire recording into voice manager, config, events, /record command</title>
<updated>2026-09-09T12:36:50Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-09-09T12:36:50Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=0d1fdab3a10b30d83da50b7f20acc18b7a350a22'/>
<id>urn:sha1:0d1fdab3a10b30d83da50b7f20acc18b7a350a22</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: piper now not a subprocess, cache system for TTS</title>
<updated>2026-09-05T17:35:21Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-09-05T17:35:21Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=8e868894cbcaf421c263f3555af4d29bef653420'/>
<id>urn:sha1:8e868894cbcaf421c263f3555af4d29bef653420</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: enable wav support</title>
<updated>2026-08-19T17:45:04Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-08-19T17:45:04Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=06a2523476a11e2b8e5e12ca5579081d66f0e8cd'/>
<id>urn:sha1:06a2523476a11e2b8e5e12ca5579081d66f0e8cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: leaderboads</title>
<updated>2026-08-19T17:28:39Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-08-19T17:28:39Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=11507d00fb774e59afe2c304a6922f875865caee'/>
<id>urn:sha1:11507d00fb774e59afe2c304a6922f875865caee</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: local TTS via piper subprocess with Google fallback</title>
<updated>2026-08-18T21:18:37Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-08-18T21:18:37Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=b252c39517b9fce181d1a0fe4761404c7d981397'/>
<id>urn:sha1:b252c39517b9fce181d1a0fe4761404c7d981397</id>
<content type='text'>
- 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)
</content>
</entry>
<entry>
<title>fir auto completion and send file in the response body upon grajcuj file</title>
<updated>2026-07-30T23:09:07Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-07-30T23:09:07Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=3f1a4d113e71fc412ec05a319d5ffd5a3d7a78bc'/>
<id>urn:sha1:3f1a4d113e71fc412ec05a319d5ffd5a3d7a78bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>truncate search results</title>
<updated>2026-07-08T12:39:48Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-07-08T12:39:48Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=e86699c68c8bbc9685bf14466add52b09835f91a'/>
<id>urn:sha1:e86699c68c8bbc9685bf14466add52b09835f91a</id>
<content type='text'>
Signed-off-by: salmonik &lt;raisersoft@proton.me&gt;
</content>
</entry>
<entry>
<title>remember links during audio file completion</title>
<updated>2026-07-08T12:24:55Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-07-08T12:24:55Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=a18c5469b0bdf430060309359b58e2f63abdc593'/>
<id>urn:sha1:a18c5469b0bdf430060309359b58e2f63abdc593</id>
<content type='text'>
Signed-off-by: salmonik &lt;raisersoft@proton.me&gt;
</content>
</entry>
<entry>
<title>rename the project to what it should be named</title>
<updated>2026-07-08T00:21:16Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-07-08T00:21:16Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=6e35c8ff60f6b652a113d68bfac963c059e24405'/>
<id>urn:sha1:6e35c8ff60f6b652a113d68bfac963c059e24405</id>
<content type='text'>
Signed-off-by: salmonik &lt;raisersoft@proton.me&gt;
</content>
</entry>
</feed>
