hermes - 💡(How to fix) Fix [Feature]: Discord: configurable processing-status reaction emojis (👀/✅ /❌ )

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Fix Action

Fix / Workaround

Problem

Deployments that want custom Unicode emojis or server custom emojis cannot configure thinking/success/failure reactions without patching the adapter.

Code Example

discord:
  reactions: true
  reaction_emojis:
    thinking: "🤔"
    success: "✅"
    failure: "❌"

---
RAW_BUFFERClick to expand / collapse

Problem or Use Case

Discord processing-status reactions are hardcoded in DiscordAdapter.on_processing_start / on_processing_complete (👀 while processing, ✅ on success, ❌ on failure). Users should be able to override these via top-level config.yaml discord: keys and/or env vars, using the same YAML→env pattern as existing Discord settings (discord.reactions, discord.allow_mentions).

Background

  • Lifecycle hooks are defined on BasePlatformAdapter in gateway/platforms/base.py; Discord overrides them in plugins/platforms/discord/adapter.py.
  • discord.reactions / DISCORD_REACTIONS only toggles reactions on/off (default: enabled). It does not control which emojis are used.
  • Existing tests: tests/gateway/test_discord_reactions.py (including cancelled handling and interaction events without reactions).

Problem

Deployments that want custom Unicode emojis or server custom emojis cannot configure thinking/success/failure reactions without patching the adapter.

Proposed Solution

Add configurable mappings for three states:

KeyDefaultWhen used
thinking👀on_processing_start
successon_processing_complete + ProcessingOutcome.SUCCESS
failureon_processing_complete + ProcessingOutcome.FAILURE

config.yaml

Top-level discord: (not under platforms: — see cli-config.yaml.example):

discord:
  reactions: true
  reaction_emojis:
    thinking: "🤔"
    success: "✅"
    failure: "❌"

Env vars

Explicit env wins over YAML, matching other DISCORD_* settings:

  • DISCORD_REACTION_EMOJI_THINKING
  • DISCORD_REACTION_EMOJI_SUCCESS
  • DISCORD_REACTION_EMOJI_FAILURE

Implementation sketch

  1. Add _processing_reaction_emojis() with current defaults.
  2. Use it in on_processing_start / on_processing_complete instead of string literals.
  3. Extend _apply_yaml_config() in plugins/platforms/discord/adapter.py to map discord.reaction_emojis.* → env vars (mirror discord.allow_mentions).

Custom server emojis

Document Discord’s name:id form for add_reaction / remove_reaction.

Files to touch

  • plugins/platforms/discord/adapter.py — resolver, hooks, _apply_yaml_config
  • tests/gateway/test_discord_reactions.py
  • cli-config.yaml.example (and optionally .env.example)

Alternatives Considered

No response

Feature Type

Gateway / messaging improvement

Scope

Small (single file, < 50 lines)

Contribution

  • I'd like to implement this myself and submit a PR

Debug Report (optional)

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING