Feature Description
Allow custom naming of auto-created Discord threads, either via a configurable template or post-creation rename hook.
Currently, when discord.auto_thread: true, Hermes creates threads named after the first ~80 characters of the user's message (with mention syntax stripped). It would be useful to customize this name — either through a config template or by allowing the thread to be renamed after creation.
Motivation
Discord thread names are the primary way users identify conversations in their channel list. Auto-generating them from raw message text often produces unhelpful or ugly names — especially when the message contains mentions, commands, or pasted URLs. Customizable names would make threads more scannable and useful in busy servers.
Proposed Solution
Option A — Configurable thread name template
Add a new config option like discord.thread_name_template that supports variables such as {user}, {message}, {truncated_message}, etc. Example config:
discord:
auto_thread: true
thread_name_template: "💬 {user}: {truncated_message}"
Option B — Post-creation rename
After the auto-created thread exists, rename it via thread.edit(name=...). This could be done:
- By the agent itself (requires a tool for the AI to rename threads)
- Or via a simple hook in
gateway/platforms/discord.py right after thread creation
Alternatives Considered
- Accepting the current behavior (first 80 chars) — results in unhelpful thread names
- Using AI to generate a name — overkill for this, wastes tokens
- Manual rename — users can do this anyway, but the ask is for automation
Scope / Effort Estimate
Small — touches only gateway/platforms/discord.py in the _auto_create_thread method. The Discord.py library already supports thread.edit(name=...) on the returned thread object.
Additional Context
Discord.py thread.edit() accepts a name parameter (line 585 in threads.py). The bot just needs manage_threads permission which many users already grant.
Feature Description
Allow custom naming of auto-created Discord threads, either via a configurable template or post-creation rename hook.
Currently, when
discord.auto_thread: true, Hermes creates threads named after the first ~80 characters of the user's message (with mention syntax stripped). It would be useful to customize this name — either through a config template or by allowing the thread to be renamed after creation.Motivation
Discord thread names are the primary way users identify conversations in their channel list. Auto-generating them from raw message text often produces unhelpful or ugly names — especially when the message contains mentions, commands, or pasted URLs. Customizable names would make threads more scannable and useful in busy servers.
Proposed Solution
Option A — Configurable thread name template
Add a new config option like
discord.thread_name_templatethat supports variables such as{user},{message},{truncated_message}, etc. Example config:Option B — Post-creation rename
After the auto-created thread exists, rename it via
thread.edit(name=...). This could be done:gateway/platforms/discord.pyright after thread creationAlternatives Considered
Scope / Effort Estimate
Small — touches only
gateway/platforms/discord.pyin the_auto_create_threadmethod. The Discord.py library already supportsthread.edit(name=...)on the returned thread object.Additional Context
Discord.py
thread.edit()accepts anameparameter (line 585 in threads.py). The bot just needsmanage_threadspermission which many users already grant.