Bug Description
When adding my discord bot to a channel, and typing for example: "@HermesBot /yolo" the command seems to go unrecognized and the text is processed by the LLM instead of being intercepted, like it works in DMs or within a thread.
note: I do not know if this is a bug, but it certainly seems like the intended behavior should be other than what happens right now. I would expect directly tagging my bot in the channel to behave the same as sending a DM to it.
Steps to Reproduce
- Run hermes gateway via Discord
- In your home channel type "@bot /yolo" or "@bot /usage" etc.
Expected Behavior
I would expect the command to be recognized and show/perform the deterministic function like how it works in DMs:
Actual Behavior
The text goes through the LLM instead of running the command:

Affected Component
Gateway (Telegram/Discord/Slack/WhatsApp)
Messaging Platform (if gateway-related)
Discord
Operating System
macOS 15.7.5
Python Version
3.11.11
Hermes Version
0.7.0
Relevant Logs / Traceback
2026-04-08 17:52:36,596 WARNING gateway.platforms.discord: [DEBUG] BEFORE create_thread: message.content = '/yolo'
2026-04-08 17:52:37,093 WARNING gateway.platforms.discord: [DEBUG] AFTER create_thread: message.content = '<@1490768887665529002> /yolo'
Root Cause Analysis (optional)
create_thread() (called by _auto_create_thread()) restores the original raw message content including the <@mention> prefix, undoing any prior mention stripping. This means message.content starts with <@...> again by the time the / prefix check runs, so slash commands are never detected.
Proposed Fix (optional)
Save a copy of the mention-stripped message text before _auto_create_thread() runs, and use that copy for /command detection instead of message.content.
I believe I have a working PR which I'm testing a bit more but I wanted to get the ok that this is something we want fixed/changed first.
Are you willing to submit a PR for this?
Bug Description
When adding my discord bot to a channel, and typing for example: "@HermesBot /yolo" the command seems to go unrecognized and the text is processed by the LLM instead of being intercepted, like it works in DMs or within a thread.
note: I do not know if this is a bug, but it certainly seems like the intended behavior should be other than what happens right now. I would expect directly tagging my bot in the channel to behave the same as sending a DM to it.
Steps to Reproduce
Expected Behavior
I would expect the command to be recognized and show/perform the deterministic function like how it works in DMs:
Actual Behavior
The text goes through the LLM instead of running the command:

Affected Component
Gateway (Telegram/Discord/Slack/WhatsApp)
Messaging Platform (if gateway-related)
Discord
Operating System
macOS 15.7.5
Python Version
3.11.11
Hermes Version
0.7.0
Relevant Logs / Traceback
Root Cause Analysis (optional)
create_thread()(called by_auto_create_thread()) restores the original raw message content including the<@mention>prefix, undoing any prior mention stripping. This meansmessage.contentstarts with<@...>again by the time the/prefix check runs, so slash commands are never detected.Proposed Fix (optional)
Save a copy of the mention-stripped message text before
_auto_create_thread()runs, and use that copy for /command detection instead ofmessage.content.I believe I have a working PR which I'm testing a bit more but I wanted to get the ok that this is something we want fixed/changed first.
Are you willing to submit a PR for this?