如何使用Bot Framework在团队适应卡中添加提及

问题描述

我试图借助自适应卡在ms团队频道中提及一个用户,但是没有适当的文档,此处给出的解决方案示例不起作用?有没有人尝试过,请帮忙

解决方法

您使用的是JS吗?我刚刚发布了一个类似的问题,但是它为用户提供了一个可行的解决方案。我试图提一个机器人。 Here is the post I just submitted

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>',}
  ]
});

这是我给的例子

,

我曾经在{@ 3}}聊天机器人中使用。我认为html非常灵活,这是我的代码。

private async Task showTeamStatus(ITurnContext<IMessageActivity> turnContext,CancellationToken cancellationToken)
    {
        MyInfo myInfo = new MyInfo();
        List <BotDataEntity> res = await myInfo.RunAsync();

        var card = new HeroCard();
        card.Title = "xxxx";
        var html = "<div>" +
            "<div style='height:40px;line-height:40px;text-align:center;'>" +
                "<div style='width:26%;float:left;text-align:left;'>Name</div>" +
                "<div style='width:20%;float:left;'>Log</div>" +
                "<div style='width:14%;float:left;'>Case</div>" +
                "<div style='width:14%;float:left;'>Task</div>" +
                "<div style='width:26%;float:left;'>IPD</div>" +
            "</div>";
        for (int i = 0; i < res.Count; i++)
        {
            html += "<div style='height:28px;line-height:28px;text-align:center;'>" +
                "<div style='float:left;width:26%;font-size:10px;text-align:left;'>" + res[i].userName + "</div>" +
                "<div style='float:left;width:20%;'>" + res[i].log + "</div>" +
                "<div style='float:left;width:14%;'>" + res[i].case + "</div>" +
                "<div style='float:left;width:14%;'>" + res[i].task + "</div>" +
                "<div style='float:left;width:26%;'>" + res[i].ipd + "</div>" +
            "</div>";
        }
        html += "</div> ";
        card.Text = html;

        var activity = MessageFactory.Attachment(card.ToAttachment());
        await turnContext.SendActivityAsync(activity,cancellationToken);
    }

您想“在ms团队频道中提及用户”,我认为use html to format cards可能会对您有所帮助。它提供了“在团队频道中发布主动消息并在其中提及用户”的示例。