hermes - ✅(Solved) Fix Discord adapter: support per-guild/per-server configuration [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#23051Fetched 2026-05-11 03:31:36
View on GitHub
Comments
0
Participants
1
Timeline
7
Reactions
0
Participants
Timeline (top)
labeled ×5cross-referenced ×2

Fix Action

Fixed

PR fix notes

PR #23080: feat(discord): per-guild/per-server configuration overrides

Description (problem / solution / changelog)

Summary

  • Per-guild/per-server configuration support for the Discord adapter.
  • require_mention, allowed_channels, ignored_channels, free_response_channels, auto_thread, and no_thread_channels can now be configured differently per Discord server.

Fixes #23051

Changes

  • gateway/config.py — parse discord.guilds into extra["guilds"], normalizing guild ID keys to strings
  • gateway/platforms/discord.py — add _resolve_discord_setting resolver with priority: per-guild → global config → env var → default; rewire all setting read sites including _handle_message and _evaluate_slash_authorization
  • tests/gateway/test_discord_per_guild_config.py — 24 tests covering per-guild isolation, priority chain, all six supported settings, and _coerce_channel_set helper
  • website/docs/user-guide/messaging/discord.md — add per-guild config section with YAML examples

Test Plan

  • 339 Discord gateway tests pass (including 24 new)
  • 43 config tests pass
  • 0 regressions vs existing tests

Changed files

  • gateway/config.py (modified, +12/-0)
  • gateway/platforms/discord.py (modified, +112/-29)
  • tests/gateway/test_discord_per_guild_config.py (added, +438/-0)
  • website/docs/user-guide/messaging/discord.md (modified, +40/-0)
RAW_BUFFERClick to expand / collapse

Problem

Currently discord.require_mention is a global setting that applies to all guilds. Users need the ability to configure mention behavior per-guild — e.g., allow free responses in Server A while requiring mentions in Server B.

Proposed Solution

Add per-guild configuration support to the Discord adapter. Possible approaches:

  1. Guild-level config blocks in config.yaml:

  2. Guild-level server_actions / free_response_channels: Allow these to be keyed by guild ID.

Scope of Changes

At minimum, the following settings should support per-guild overrides:

  • require_mention
  • allowed_channels
  • free_response_channels
  • auto_thread

Priority

Medium — enables multi-guild bots to behave differently based on server context, which is standard behavior for Discord bots at scale.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING