【发布时间】:2021-02-19 15:13:12
【问题描述】:
我已经使用 Microsoft Bot Framework 在 C# 中创建了一个机器人,成功地在 Azure 中托管它,在 Teams 中注册了它,一切都运行良好 - 除非用户尝试单击应该打开 URL 的按钮.用户会看到一张卡片,上面有三个选项,然后单击 Azure 中的网络聊天功能中的一个选项,或者在手机上使用 Teams 应用程序时成功启动具有所需 URL 的浏览器。但是,单击桌面上基于浏览器的 Teams 版本中的按钮会创建一个带有 url https://teams.microsoft.com/null 的新选项卡,而单击桌面版 Teams 上的按钮似乎没有任何作用。该卡的代码如下所示:
private static async Task SendLinkCard(ITurnContext<IMessageActivity> turnContext, HeroCard card, CancellationToken cancellationToken)
{
card.Title = "Link Card";
card.Text = "Choose an option:";
card.Buttons.Add(new CardAction
{
Type = ActionTypes.OpenUrl,
Title = "Link 1",
Value = "https://google.com/",
});
card.Buttons.Add(new CardAction
{
Type = ActionTypes.OpenUrl,
Title = "Link 2",
Value = "https://stackoverflow.com"
});
card.Buttons.Add(new CardAction
{
Type = ActionTypes.OpenUrl,
Title = "Link 3",
Value = "https://example.com"
});
var activity = MessageFactory.Attachment(card.ToAttachment());
await turnContext.SendActivityAsync(activity, cancellationToken);
}
我在这里没有想法,这似乎应该如此简单 - 任何帮助将不胜感激!
【问题讨论】:
-
副手,一切看起来都正确,不知道为什么它不起作用。出于兴趣,您是否需要专门的英雄卡?自适应卡可能会让你的运气更好,反正它有更多(并且不断增长的)选择
-
希尔顿,我并不特别需要英雄卡,但我永远无法让自适应卡正常工作,而且我将自己限制在每张卡上只有一些文字和几个可点击按钮所以英雄卡似乎是一个不错的选择。史蒂文,谢谢你的帮助 - 我终于回到我的电脑上尝试你的代码,现在它在一个更好的地方。
标签: botframework bots microsoft-teams azure-bot-service