<feed xmlns='http://www.w3.org/2005/Atom'>
<title>senator-sperma/src/commands/music.rs, 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:32:06Z</updated>
<entry>
<title>autocomplete: key results by extension filter and reject the placeholder</title>
<updated>2026-11-04T00:32:06Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-04T00:32:06Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=382bb2af15e7076f8dcbbe6cc4a6b135709ef7b9'/>
<id>urn:sha1:382bb2af15e7076f8dcbbe6cc4a6b135709ef7b9</id>
<content type='text'>
</content>
</entry>
<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>cron: keep scheduled audio silent</title>
<updated>2026-11-02T14:23:51Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-02T14:23:51Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=d4ab83f20956fba09133571e14a9a64244b33d64'/>
<id>urn:sha1:d4ab83f20956fba09133571e14a9a64244b33d64</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>contextual play should add to the last in the queue</title>
<updated>2026-10-27T17:39:17Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-10-27T17:39:17Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=b8b09face27f18fd1242e55dbeabbecc3591aabe'/>
<id>urn:sha1:b8b09face27f18fd1242e55dbeabbecc3591aabe</id>
<content type='text'>
Signed-off-by: salmonik &lt;salmonik@tuta.io&gt;
</content>
</entry>
<entry>
<title>music: group playback commands under /music</title>
<updated>2026-10-27T17:18:07Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-10-27T17:18:07Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=bab3f614f8b42545fdb0101c4e353c87e0966d47'/>
<id>urn:sha1:bab3f614f8b42545fdb0101c4e353c87e0966d47</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>music: add per-guild queue with now/next/last, skip and queue</title>
<updated>2026-10-27T17:14:07Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-10-27T17:14:07Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=fc5e0f48477366641b97efb0541053cc1e061be5'/>
<id>urn:sha1:fc5e0f48477366641b97efb0541053cc1e061be5</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>/grajcuj plays video-like extensions too</title>
<updated>2026-09-09T11:31:32Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-09-09T11:31:32Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=ad5e5ae08bace9c5065365e1b71fe5abff529ce4'/>
<id>urn:sha1:ad5e5ae08bace9c5065365e1b71fe5abff529ce4</id>
<content type='text'>
Signed-off-by: salmonik &lt;salmonik@tuta.io&gt;
</content>
</entry>
<entry>
<title>message-contextual /grajcuj</title>
<updated>2026-09-09T11:25:45Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-09-09T11:25:45Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=f512d9d22dc3b57bd53834c393304081e9fd4faa'/>
<id>urn:sha1:f512d9d22dc3b57bd53834c393304081e9fd4faa</id>
<content type='text'>
Signed-off-by: salmonik &lt;salmonik@tuta.io&gt;
</content>
</entry>
<entry>
<title>make /grajcuj w\ compress finally work as compressing a file and then</title>
<updated>2026-09-09T10:50:56Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-09-09T10:50:56Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/senator-sperma/commit/?id=5eea9f2fef1a840f9c9e6ec6d471fe4f87f1d1fd'/>
<id>urn:sha1:5eea9f2fef1a840f9c9e6ec6d471fe4f87f1d1fd</id>
<content type='text'>
/grajcuj'ing

Signed-off-by: salmonik &lt;salmonik@tuta.io&gt;
</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>
</feed>
