Two Hermes bots sharing a channel could volley replies at each other indefinitely. Root cause: Discord reply-pings (allowed_mentions replied_user=true) add the replied-to bot to message.mentions without a literal <@bot> token in the body, so the existing bot-admission gate treated a reply chip as an explicit @mention and re-triggered the peer. Adds opt-in discord.bots_require_inline_mention (default false; env DISCORD_BOTS_REQUIRE_INLINE_MENTION). When enabled, bot-authored messages must carry a raw inline <@id>/<@!id> mention in the content; reply-ping-only mentions no longer admit the message. Human messages and all existing defaults are unchanged. The new _self_is_raw_mentioned helper deliberately ignores the resolved message.mentions list (which reply-ping populates) and checks only the raw content token via the shared _raw_mentioned_user_ids primitive. |
||
|---|---|---|
| .. | ||
| browser | ||
| context_engine | ||
| cron_providers | ||
| dashboard_auth | ||
| disk-cleanup | ||
| google_meet | ||
| hermes-achievements | ||
| image_gen | ||
| kanban | ||
| memory | ||
| model-providers | ||
| observability | ||
| platforms | ||
| security-guidance | ||
| spotify | ||
| teams_pipeline | ||
| video_gen | ||
| web | ||
| __init__.py | ||
| plugin_utils.py | ||