Skip to content

docs(discord): fix Server Members Intent + SSRC-mapping drift + /voice join slash Choice (salvage #11350)#20411

Merged
teknium1 merged 1 commit into
mainfrom
salvage/pr-11350
May 5, 2026
Merged

docs(discord): fix Server Members Intent + SSRC-mapping drift + /voice join slash Choice (salvage #11350)#20411
teknium1 merged 1 commit into
mainfrom
salvage/pr-11350

Conversation

@teknium1
Copy link
Copy Markdown
Contributor

@teknium1 teknium1 commented May 5, 2026

Adds a /voice join explicit Choice on the Discord slash UI (runner already accepted both "join" and "channel", but only "channel" was in autocomplete). Fixes the Server Members Intent table in the voice-mode docs to match current code — intent is conditional (needed only when DISCORD_ALLOWED_USERS contains usernames), and SSRC → user_id mapping uses the voice websocket SPEAKING opcode rather than the Members intent.

Changes:

  • gateway/platforms/discord.py — add /voice join Choice (+5/-1)
  • website/docs/user-guide/features/voice-mode.md — fix Members Intent + SSRC description (+2/-2)

Dropped from the original PR — each with a specific reason:

  • HERMES_DISCORD_VOICE_PACKET_DUMP env var — doesn't exist on main (landing in a different PR, not merged).
  • DISCORD_PROXY docs additions — already on current main.
  • DISCORD_ALLOW_MENTION_* docs additions — already on current main.
  • "barge-in mode" rewrite — VoiceReceiver.pause() at discord.py:192 actually does pause the listener during TTS on current main; there is no barge_in_guard / barge_in_rms code path.

Verified against gateway/platforms/discord.py:600 (intents.members = any(not entry.isdigit() …)) and :156 (_paused flag).

Closes #11350 via salvage.

Original PR by @malaiwah — authorship preserved.

…oice join slash Choice

Salvage of #11350. Kept:
- Code: add an explicit /voice join Choice in the slash UI (runner accepts both 'join' and 'channel' but only 'channel' was in autocomplete).
- Docs: Server Members Intent is conditional (only needed if DISCORD_ALLOWED_USERS contains usernames); SSRC → user_id mapping uses the voice websocket SPEAKING opcode, not the Members intent.

Dropped from the original PR:
- HERMES_DISCORD_VOICE_PACKET_DUMP — this env var doesn't exist on main (it was in a different PR that isn't merged).
- DISCORD_PROXY docs — already documented on current main.
- DISCORD_ALLOW_MENTION_* docs — already on main.
- "barge-in mode" rewrite — current main actually does pause the listener during TTS (VoiceReceiver.pause() at discord.py:192); there is no barge_in_guard/barge_in_rms on main.

Co-authored-by: Michel Belleau <michel.belleau@malaiwah.com>
@teknium1 teknium1 merged commit 5f8e59b into main May 5, 2026
8 of 11 checks passed
@teknium1 teknium1 deleted the salvage/pr-11350 branch May 5, 2026 20:50
@alt-glitch alt-glitch added type/docs Documentation improvements P3 Low — cosmetic, nice to have platform/discord Discord bot adapter labels May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have platform/discord Discord bot adapter type/docs Documentation improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants