<feed xmlns='http://www.w3.org/2005/Atom'>
<title>senator-sperma/main.py, 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-07-08T00:13:35Z</updated>
<entry>
<title>OPEN THE RUST GATES</title>
<updated>2026-07-08T00:13:35Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-07-08T00:13:35Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=cd8ed8bc5793985df2c1692072a932ceee517b95'/>
<id>urn:sha1:cd8ed8bc5793985df2c1692072a932ceee517b95</id>
<content type='text'>
Signed-off-by: salmonik &lt;raisersoft@proton.me&gt;
</content>
</entry>
<entry>
<title>Fold AudioPlaybackManager into VoiceManager + Future-based play</title>
<updated>2026-05-20T13:36:17Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-05-20T13:36:17Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=fbdfad855ab9a1233e286806439397729ba21226'/>
<id>urn:sha1:fbdfad855ab9a1233e286806439397729ba21226</id>
<content type='text'>
- Move all static helpers (validate_voice_channel, prepare_source,
  prepare_audio_source, etc.) from AudioPlaybackManager into VoiceManager
- Add _play_await() using asyncio.Future + after callback, replacing
  all polling patterns and the 5-second sleep hack
- Add play() high-level method and play_source() for pre-made sources
- Unify connection logic under single _ensure_voice_client()
- Remove dead Voice cog class and its setup()
- Gut audio_playback.py to a re-export shim
- Remove cogs.voice from main.py extensions
</content>
</entry>
<entry>
<title>multitude of changes.</title>
<updated>2026-04-28T18:05:36Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-04-28T18:05:36Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=5675dfd20b24f1e0eef06b11d9ec41a894d3a5bf'/>
<id>urn:sha1:5675dfd20b24f1e0eef06b11d9ec41a894d3a5bf</id>
<content type='text'>
but primarly, use db for all data.

Signed-off-by: salmonik &lt;raisersoft@proton.me&gt;
</content>
</entry>
<entry>
<title>uploader.py and voice fixes</title>
<updated>2026-04-20T13:05:51Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-04-20T13:05:51Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=c687d9fa1d89fef8ddc7150d1487dfef07d11abb'/>
<id>urn:sha1:c687d9fa1d89fef8ddc7150d1487dfef07d11abb</id>
<content type='text'>
Signed-off-by: salmonik &lt;raisersoft@proton.me&gt;
</content>
</entry>
<entry>
<title>readd main.py</title>
<updated>2026-04-19T13:45:17Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-04-19T13:45:17Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=fe8fc54836a33121eba308922019eab75a92879d'/>
<id>urn:sha1:fe8fc54836a33121eba308922019eab75a92879d</id>
<content type='text'>
Signed-off-by: salmonik &lt;raisersoft@proton.me&gt;
</content>
</entry>
<entry>
<title>test: improve test assertions and edge cases</title>
<updated>2026-04-19T13:44:33Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-04-19T13:44:33Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=b343381fea3eab26e334a1b3bba202d715f9ea2e'/>
<id>urn:sha1:b343381fea3eab26e334a1b3bba202d715f9ea2e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: add pycord dependency, update main</title>
<updated>2026-04-19T13:43:42Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-04-19T13:43:42Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=5afc066f035eda2b38f0ebe0cdd802d1a7a6a64a'/>
<id>urn:sha1:5afc066f035eda2b38f0ebe0cdd802d1a7a6a64a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor + preparing bot for public use</title>
<updated>2026-04-17T22:24:50Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-04-17T22:24:50Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=a2b5b10625126b7e98643af9fe40569c9e004047'/>
<id>urn:sha1:a2b5b10625126b7e98643af9fe40569c9e004047</id>
<content type='text'>
Signed-off-by: salmonik &lt;raisersoft@proton.me&gt;
</content>
</entry>
<entry>
<title>add cron functionality</title>
<updated>2026-04-17T17:40:35Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-04-17T17:40:35Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=1c7a162deb1b6dcea34c219bd35d540a4e1f1fe8'/>
<id>urn:sha1:1c7a162deb1b6dcea34c219bd35d540a4e1f1fe8</id>
<content type='text'>
Signed-off-by: salmonik &lt;raisersoft@proton.me&gt;
</content>
</entry>
<entry>
<title>unify settings api into one file</title>
<updated>2026-03-23T16:43:09Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-03-23T16:43:09Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=106789319b1de06e9e8206c3a8d1dedab84496a1'/>
<id>urn:sha1:106789319b1de06e9e8206c3a8d1dedab84496a1</id>
<content type='text'>
</content>
</entry>
</feed>
