Commands & @Mentions #233

Closed
opened 2026-07-15 11:34:19 +00:00 by Mark · 0 comments
Owner

Phase 3: Commands & @Mentions

Goal: Support @mention direct invocation and slash commands (/write, /research, /chat, /status) that map to specific mesh intent types.

Approach candidates:

  • Discord @bot mention → generic chat intent (the message body is the prompt)
  • Slash commands registered via discord.py app_commands / hybrid commands
  • /write → intent type write, /research → research, /chat → default conversational
  • /status → query mesh node health and report back
  • Named parameters on slash commands (e.g., /write --style academic --length 500)

Outputs:

  • Slash command registration in docker/discord_bot.py
  • Command→intent-type mapping table (config-driven)
  • Tests for each slash command

Acceptance criteria:

  • @bot ping → mesh intent processes the text, response sent back
  • /write <prompt> triggers a write intent, result delivered as Discord message
  • /research <query> triggers a research intent
  • /chat <message> triggers a conversational intent
  • /status returns mesh health summary (shows connected workers, queue depth)
  • Unknown commands return a helpful error listing available commands
  • Slash commands work in both guild channels and DMs

Files touched: docker/discord_bot.py (amend — add command handlers), config/discord.yaml (amend — command config), tests/unit/test_discord_commands.py (create)



Decomposed from mesh-seed#134

## Phase 3: Commands & @Mentions **Goal:** Support @mention direct invocation and slash commands (`/write`, `/research`, `/chat`, `/status`) that map to specific mesh intent types. **Approach candidates:** - Discord `@bot` mention → generic chat intent (the message body is the prompt) - Slash commands registered via `discord.py` `app_commands` / hybrid commands - `/write` → intent type `write`, `/research` → `research`, `/chat` → default conversational - `/status` → query mesh node health and report back - Named parameters on slash commands (e.g., `/write --style academic --length 500`) **Outputs:** - Slash command registration in `docker/discord_bot.py` - Command→intent-type mapping table (config-driven) - Tests for each slash command **Acceptance criteria:** - [ ] `@bot ping` → mesh intent processes the text, response sent back - [ ] `/write <prompt>` triggers a write intent, result delivered as Discord message - [ ] `/research <query>` triggers a research intent - [ ] `/chat <message>` triggers a conversational intent - [ ] `/status` returns mesh health summary (shows connected workers, queue depth) - [ ] Unknown commands return a helpful error listing available commands - [ ] Slash commands work in both guild channels and DMs **Files touched:** `docker/discord_bot.py` (amend — add command handlers), `config/discord.yaml` (amend — command config), `tests/unit/test_discord_commands.py` (create) --- --- _Decomposed from [mesh-seed#134](https://forgejo.tail018ac4.ts.net/Mark/mesh-seed/issues/134)_
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/mesh-seed#233
No description provided.