Skip to content

Feature request: customizable Discord auto-thread naming (template or rename hook) #29432

Description

@racoonyclaw

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/gatewayGateway runner, session dispatch, deliveryplatform/discordDiscord bot adaptertype/featureNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions