如何在发布到频道的帖子中提及使用CardFactory.adaptiveCard(NodeJS)的Bot(不是用户)

时间:2020-10-27 01:03:21

标签: botframework microsoft-teams adaptive-cards

我已经遍历了Interweb的四个角落,试图找到有关如何执行此操作的文档。但是到目前为止,我的旅程没有成功。在搜索的过程中,我能够找到如何提及用户(而不是机器人)的方法,这甚至很痛苦。我发现您必须在“ any”对象参数的顶层发布一个名为 msteams 的字段,该参数是一个由实体数组组成的对象。该数组是对象数组。当提及一个具有适当值替换 username userID 的用户时,以下使用adaptiveCard起作用:

CardFactory.adaptiveCard({
  $schema: 'http://adaptivecards.io/schemas/adaptive-card.json',
  type: 'AdaptiveCard',
  msteams: {
    entites: [
      {
        type: 'mention',
        text: '<at>(username)</at>',
        mentioned: {
          id: <userID>,
          name: <username>,
          role: 'user'
        }
      }
    ]
  }
  body: [
    {
      type: 'TextBlock',
      text: '<at>(userName)</at>',
    }
  ]
});
CardFactory.adaptiveCard

The documentation只是将参数列为任何对象,并给出了一个小示例,该示例未显示此参数字段的详尽列表。它还发布了到Adaptive Card文档的链接,但这是它的抽象内容,字段不是1:1(根据我的判断,这种情况在Adaptive Card文档中从未引用过该msteams对象)。我想提到发布此自适应卡的机器人本身。我试图用以下内容替换提到的对象

  {
      "id": "a3216960-131c-11eb-xxxx-xxxxxxxxx",
      "name": "Bot",
      "role": "bot"
  }

这等效于我用来在自适应卡中提及“来自”用户的对象。但这是收件人。成功提到的“发件人”用户的格式如下:

  {
      "id": "c3370a7c-95f2-4a60-xxxx-xxxxxxxxx",
      "name": "User",
      "role": "user"
  }

任何帮助/指导,技巧,参考将不胜感激!

1 个答案:

答案 0 :(得分:0)

当前不支持提及自适应卡中的机器人。您可以在自适应卡中@提及用户。