Discord docs corrections and voice slash UI fixes

NousResearch/hermes-agent · cluster 11349 · docs

Data as of

Nothing open on GitHub. Fix merged in #20411. Check it covers your case.

The short answer

0open issues
0open PRs
5items grouped
Known?
Yes. 5 related items grouped here, 1 issue already closed.
Fix event
A fix was merged to main in PR #20411. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this unresolved. That is separate from the fix event.
Still open
Nothing open on GitHub.

A cluster of issues and pull requests addressing multiple documentation inaccuracies in Discord integration, including Echo Prevention mechanics, Server Members Intent behavior, SSRC mapping, and a missing /voice join option in the slash command UI.

Open issues0

No open issues.

Open PRs0

No open pull requests.

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

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

    merged to main

    files: gateway/platforms/discord.py, website/docs/user-guide/features/voice-mode.md

    Show the diff
    • gateway/platforms/discord.py
      @@ -2654,9 +2654,14 @@ async def slash_reload_skills(interaction: discord.Interaction):
                   await self._run_simple_slash(interaction, "/reload-skills")
       
               @tree.command(name="voice", description="Toggle voice reply mode")
      -        @discord.app_commands.describe(mode="Voice mode: on, off, tts, channel, leave, or status")
      +        @discord.app_commands.describe(mode="Voice mode: join, channel, leave, on, tts, off, or status")
               @discord.app_commands.choices(mode=[
      -            discord.app_commands.Choice(name="channel — join your voice channel", value="channel"),
      +            # `join` and `channel` both route to _handle_voice_channel_join in
      +            # gateway/run.py — expose both in the slash UI so autocomplete
      +            # matches what the docs advertise and what the runner accepts when
      +            # the command is typed as plain text.
      +            discord.app_commands.Choice(name="join — join your voice channel", value="join"),
      +            discord.app_commands.Choice(name="channel — join your voice channel (alias)", value="channel"),
                   discord.app_commands.Choice(name="leave — leave voice channel", value="leave"),
                   discord.app_commands.Choice(name="on — voice reply to voice messages", value="on"),
                   discord.app_commands.Choice(name="tts — voice reply to all messages", value="tts"),
    • website/docs/user-guide/features/voice-mode.md
      @@ -281,10 +281,10 @@ In the [Developer Portal](https://discord.com/developers/applications) → your
       | Intent | Purpose |
       |--------|---------|
       | **Presence Intent** | Detect user online/offline status |
      -| **Server Members Intent** | Map voice SSRC identifiers to Discord user IDs |
      +| **Server Members Intent** | Resolve usernames in `DISCORD_ALLOWED_USERS` to numeric IDs (conditional) |
       | **Message Content Intent** | Read text message content in channels |
       
      -All three are required for full voice channel functionality. **Server Members Intent** is especially critical — without it, the bot cannot identify who is speaking in the voice channel.
      +**Message Content Intent** is required. **Server Members Intent** is only needed if your `DISCORD_ALLOWED_USERS` list uses usernames — if you use numeric user IDs, you can leave it OFF. Voice-channel SSRC → user_id mapping comes from Discord's SPEAKING opcode on the voice websocket and does **not** require the Server Members Intent.
       
       #### 3. Opus Codec
       

3 PRs closed without merging

From the close comments: done elsewhere 1 · superseded by another PR 1 · other 1

  • #11350 docs(discord): correct six documentation drifts + add /voice join slash choice · other → #11416, #11349
  • #11416 fix(discord): align voice docs and slash UI · superseded by another PR → #11350, #20411
  • #78164 docs(discord): correct Echo Prevention mechanics + Server Members Intent conditional + close env-var docs class (resolves #11349) · done elsewhere → 1cf156e
Closed issues · 1
  • Closed#11349docs(discord): six documentation drifts vs actual behavior + `/voice join` missing from slash UI
How this cluster was grouped
  • Link evidence (structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
  • Pairwise link density 0.40: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Subsystem
docs
Merged PRs
#20411
Closed issues
1
Attempts
3 PRs closed without merging
Fix link checked
5 May 2026

For your agent

The same facts, typed.