You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Input.ChoiceSet选择标签时触发handleTeamsMessagingExtensionSelectItem?

问题分析与解决方案

核心问题

composeExtension/selectItem 是专门处理消息扩展搜索结果列表中选择项的事件,和你在Adaptive Card里使用Input.ChoiceSet的选择操作完全不是同一个场景,所以不会触发该事件。


具体修正步骤

1. 调整Adaptive Card的交互逻辑

给Input.ChoiceSet所在的Adaptive Card添加Action.Submit操作,用户选择标签后通过提交动作触发对应的invoke事件。示例卡片片段:

{
  "type": "AdaptiveCard",
  "body": [
    {
      "type": "Input.ChoiceSet",
      "id": "tagsChoiceSet",
      "choices": [
        { "title": "标签1", "value": "tag1" },
        { "title": "标签2", "value": "tag2" }
      ],
      "placeholder": "选择标签"
    }
  ],
  "actions": [
    {
      "type": "Action.Submit",
      "title": "确认选择",
      "data": { "msteams": { "type": "task/submit" } }
    }
  ],
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "version": "1.4"
}

2. 修改代码中的事件处理逻辑

在onInvokeActivity中添加对task/submit事件的处理,替换原有的composeExtension/selectItem分支:

public async onInvokeActivity(context: any): Promise<any> {
  console.log("context.activity.name is ", context.activity.name);

  if (context.activity.name == "application/search") {
    let searchQuery = context.activity.value.queryText;
    // other code
  }
  // 处理任务模块提交事件,对应Adaptive Card的Action.Submit
  if (context.activity.name == "task/submit") {
    console.log("tag is chosen");
    return TeamsBot.createInvokeResponse(
      await this.handleTeamsMessagingExtensionSelectItem(
        context,
        context.activity.value
      )
    );
  }

  return super.onInvokeActivity(context);
}

3. 修正manifest中的命令配置

你的tagsChoiceSet命令使用了fetchTask=true加载任务模块,把命令类型从query改为action更符合语义:

{
  "id": "tagsChoiceSet",
  "type": "action", // 将query改为action
  "title": "Find tag",
  "description": "",
  "initialRun": false,
  "fetchTask": true,
  "context": [
    "commandBox",
    "message",
    "compose"
  ]
}

补充说明

  • 若通过fetchTask返回任务模块,用户提交卡片时会触发task/submit事件;
  • composeExtension/selectItem仅在用户选择消息扩展搜索结果列表中的卡片项时才会触发,和当前ChoiceSet交互场景无关。

内容的提问来源于stack exchange,提问作者user23266137

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:34:50