Skip to content

Channel: Discord Adapter - #26

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

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

Conversation

@ggondim

Copy link
Copy Markdown
Contributor

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/17Apr 10, 2026
@claudeclaudeBot mentioned this pull request Apr 10, 2026
16 tasks
Sign up for freeto 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

@ggondim