Feature Description
Discord currently supports mention-gating globally (discord.require_mention) and channel-level free-response exemptions (discord.free_response_channels). It would be useful to also support guild-level free-response exemptions, so a bot can respond to every message in specific low-noise/private guilds while still requiring @mentions in all other guilds.
Motivation
Some users run Hermes in multiple Discord guilds:
- Personal/private guilds where Hermes is the only or primary participant and should behave like a resident assistant.
- Shared/team/community guilds where Hermes should stay quiet unless explicitly @mentioned.
Today, users must either:
- Disable
discord.require_mention globally, which is too noisy/risky across all guilds.
- Maintain every channel ID in
discord.free_response_channels, which is brittle when channels/threads are added.
Proposed Solution
Add a new Discord config key:
discord:
require_mention: true
free_response_guilds:
- "1476256146980606197"
Behavior:
- If
discord.require_mention is true and the incoming message's guild ID is listed in discord.free_response_guilds, skip the @mention requirement.
- Other guilds keep the existing mention-gated behavior.
- Existing
discord.free_response_channels, DMs, thread participation, ignored channels, and allowed channels behavior remains unchanged.
Alternatives Considered
- Use
discord.free_response_channels for every channel in a guild. This works but requires ongoing manual maintenance and misses new channels.
- Set
discord.require_mention: false globally. This is too broad when the bot is installed in multiple guilds.
Feature Description
Discord currently supports mention-gating globally (
discord.require_mention) and channel-level free-response exemptions (discord.free_response_channels). It would be useful to also support guild-level free-response exemptions, so a bot can respond to every message in specific low-noise/private guilds while still requiring @mentions in all other guilds.Motivation
Some users run Hermes in multiple Discord guilds:
Today, users must either:
discord.require_mentionglobally, which is too noisy/risky across all guilds.discord.free_response_channels, which is brittle when channels/threads are added.Proposed Solution
Add a new Discord config key:
Behavior:
discord.require_mentionis true and the incoming message's guild ID is listed indiscord.free_response_guilds, skip the @mention requirement.discord.free_response_channels, DMs, thread participation, ignored channels, and allowed channels behavior remains unchanged.Alternatives Considered
discord.free_response_channelsfor every channel in a guild. This works but requires ongoing manual maintenance and misses new channels.discord.require_mention: falseglobally. This is too broad when the bot is installed in multiple guilds.