diff --git a/client/client.go b/client/client.go index 37b4f1d..52c7136 100644 --- a/client/client.go +++ b/client/client.go @@ -382,8 +382,8 @@ func (cli *StreamClient) RegisterChatBotCallbackRouter(messageHandler chatbot.IC } // AI插件的注册函数 -func (cli *StreamClient) RegisterPluginCallbackRouter(messageHandler plugin.IDingTalkPluginHandler) { - cli.RegisterRouter(utils.SubscriptionTypeKCallback, payload.BotPluginCallbackTopic, plugin.NewDefaultDingTalkPluginFrameHandler(messageHandler).OnEventReceived) +func (cli *StreamClient) RegisterPluginCallbackRouter(messageHandler plugin.IPluginMessageHandler) { + cli.RegisterRouter(utils.SubscriptionTypeKCallback, payload.PluginMessageCallbackTopic, plugin.NewDefaultPluginFrameHandler(messageHandler).OnEventReceived) } // 事件类型的注册函数 diff --git a/payload/utils.go b/payload/utils.go index 474ce21..0e5f5c9 100644 --- a/payload/utils.go +++ b/payload/utils.go @@ -23,8 +23,8 @@ const ( DataFrameResponseStatusCodeKInternalError = 500 DataFrameResponseStatusCodeKHandlerNotFound = 404 - BotMessageCallbackTopic = "/v1.0/im/bot/messages/get" //机器人消息统一回调topic - BotPluginCallbackTopic = "/v1.0/agi/plugins/callback" //AI插件消息统一回调topic + BotMessageCallbackTopic = "/v1.0/im/bot/messages/get" //机器人消息统一回调topic + PluginMessageCallbackTopic = "/v1.0/agi/plugins/callback" //AI插件消息统一回调topic ) func GenerateMessageId(prefix string) string { diff --git a/plugin/plugin_handler.go b/plugin/plugin_handler.go index 9382180..01bbd73 100644 --- a/plugin/plugin_handler.go +++ b/plugin/plugin_handler.go @@ -10,19 +10,19 @@ type CallbackResponse struct { Response interface{} `json:"response"` } -type IDingTalkPluginHandler func(c context.Context, data *DingTalkPluginMessage) (interface{}, error) +type IPluginMessageHandler func(c context.Context, data *DingTalkPluginMessage) (interface{}, error) -type DefaultDingTalkPluginFrameHandler struct { - defaultHandler IDingTalkPluginHandler +type DefaultPluginFrameHandler struct { + defaultHandler IPluginMessageHandler } -func NewDefaultDingTalkPluginFrameHandler(defaultHandler IDingTalkPluginHandler) *DefaultDingTalkPluginFrameHandler { - return &DefaultDingTalkPluginFrameHandler{ +func NewDefaultPluginFrameHandler(defaultHandler IPluginMessageHandler) *DefaultPluginFrameHandler { + return &DefaultPluginFrameHandler{ defaultHandler: defaultHandler, } } -func (h *DefaultDingTalkPluginFrameHandler) OnEventReceived(ctx context.Context, df *payload.DataFrame) (*payload.DataFrameResponse, error) { +func (h *DefaultPluginFrameHandler) OnEventReceived(ctx context.Context, df *payload.DataFrame) (*payload.DataFrameResponse, error) { msgData := &DingTalkPluginMessage{} err := json.Unmarshal([]byte(df.Data), msgData) if err != nil {