feat(platform): add slack platform support (#385)

* feat(platform): add slack platform support

* docs: add slack channel setup guide

* feat: normalize slack unicode reactions

* chore(docs): remove unsupport feature

* fix(slack): harden adapter stream and identity handling

- ignore reaction and speech stream events in Slack outbound
  streams
  - normalize Slack conversation types to framework-standard values
  - route DiscoverSelf through the adapter API factory
  - add config-scoped Slack user display-name caching
  - expand adapter interface assertions and add regression coverage
  - add ChannelTypeSlack to well-known channel constants
This commit is contained in:
Fodesu
2026-04-19 14:17:05 +08:00
committed by GitHub
parent db777b98ac
commit 8e013ad1ad
17 changed files with 3250 additions and 1 deletions
+6
View File
@@ -35,6 +35,7 @@ import (
"github.com/memohai/memoh/internal/channel/adapters/matrix"
"github.com/memohai/memoh/internal/channel/adapters/misskey"
"github.com/memohai/memoh/internal/channel/adapters/qq"
slackadapter "github.com/memohai/memoh/internal/channel/adapters/slack"
"github.com/memohai/memoh/internal/channel/adapters/telegram"
"github.com/memohai/memoh/internal/channel/adapters/wechatoa"
"github.com/memohai/memoh/internal/channel/adapters/wecom"
@@ -297,6 +298,11 @@ func provideChannelRegistry(log *slog.Logger, hub *local.RouteHub, mediaService
feishuAdapter := feishu.NewFeishuAdapter(log)
feishuAdapter.SetAssetOpener(mediaService)
registry.MustRegister(feishuAdapter)
slackAdapter := slackadapter.NewSlackAdapter(log)
slackAdapter.SetAssetOpener(mediaService)
registry.MustRegister(slackAdapter)
registry.MustRegister(wecom.NewWeComAdapter(log))
dingTalkAdapter := dingtalk.NewDingTalkAdapter(log)