Skip to content

Channel: Discord Adapter#26

Merged
ggondim merged 1 commit intometa/17from
claude/issue-9-20260410-2205
Apr 10, 2026
Merged

Channel: Discord Adapter#26
ggondim merged 1 commit intometa/17from
claude/issue-9-20260410-2205

Conversation

@ggondim
Copy link
Copy Markdown
Contributor

@ggondim ggondim commented Apr 10, 2026

fixes #9

Adds packages/channels/discord — a full ChannelAdapter implementation
for Discord using discord.js:

Inbound:
- message create, @mentions (parseMessage)
- slash commands (parseSlashCommand + REST registration)

Outbound:
- plain text messages
- styled Discord embeds (INFORM / AUTHORIZE / COLLECT / ESCALATE)
- message components: approve/deny buttons (AUTHORIZE), select menus
  (COLLECT with closed options)

Threads:
- getThread / createThread supporting both TextChannel threads and
  ForumChannel posts (1:1 mapping with OpenThreads thread IDs)
- ensureThreadActive helper to unarchive threads before sending

A2H (method 1 + method 2):
- buildA2HComponents maps A2H intents to Discord action rows
- awaitResponse captures button/select interactions and thread replies
- Timeout configurable via interactionTimeoutSeconds

Capabilities: { threads, buttons, selectMenus, dms, fileUpload: true;
                replyMessages: false }

Tests:
- Unit tests for message/command parsing, component builders, embeds
- Conformance tests verifying ChannelAdapter interface contract

Co-authored-by: claude[bot] <claude[bot]@users.noreply.github.com>
@ggondim ggondim merged commit 198bd75 into meta/17 Apr 10, 2026
@claude claude Bot mentioned this pull request Apr 10, 2026
16 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant