问题标签 [adaptive-cards]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
434 浏览

node.js - Microsoft bot 框架 (NodeJS):卡在松弛

我正在尝试在 Microsoft Bot 框架中使用 Herocard 来获取配置文件概述。这在模拟器中工作正常:

在此处输入图像描述

然而,松弛的同一张英雄卡没有显示该卡。它只显示文本。(不要介意文本的布局 - slack 需要 * text* 是粗体,在模拟器中 * text* 是草书)

在此处输入图像描述

这是我用来生成英雄卡片的代码:

我尝试使用特定于通道的方法来制作一条松弛消息,但这似乎只适用于 .NET SDK(或者至少我只在 .NET 页面上找到了文档)

最后,我还想知道为什么打字不适用于松弛。根据文档,这应该可以在松弛状态下工作,但只执行延迟并且 sendTyping 不可见。

我想知道我是否需要在我的 slack 帐户中激活某些东西或其他东西。我使用此演示将我的机器人连接到 slack:https ://docs.microsoft.com/en-us/bot-framework/bot-service-channel-connect-slack

希望各位大神解答一下,谢谢!

0 投票
0 回答
340 浏览

botframework - 网络聊天中的自适应卡片语音功能

我创建了一个带有语音属性集的自适应卡的机器人。

然后我从网络聊天控件中使用这个机器人并使用 Microsoft Cognitive 服务。这是集成代码:-

我在这里使用我的认知服务 API 密钥。

Q.1) 我正在通过语音调用自适应卡。我的期望是,当卡片交付时,它应该读出 SSML 标签内的内容。但这并没有发生。自适应卡只是在没有语音的情况下交付。

Q.2) 对于通过 context.PostAsync() 传递的任何文本内容,网络聊天会大声朗读。但我希望它只有在我们使用 context.SayAsync() 时才能被大声朗读。

请帮助我了解这种行为以及如何提供带有语音的自适应卡。谢谢!

0 投票
1 回答
225 浏览

botframework - 我的按钮在模拟器、浏览器或任何其他频道中不对齐

我正在编写一个机器人并大量使用HeroCardsand Adaptive Cards

当我使用 Adaptive Card Builder 时,按钮总是水平排列,这正是我所需要的。一旦部署,它们最终总是垂直堆叠在一起。

这会产生一个巨大的问题,特别是在按下按钮会启动一个动作的情况下,比如打开一个要求用户输入的文本框的一组单选按钮:该框将出现在底部(或任何控件)。

除了看起来很糟糕之外,该功能还会让 b/c 用户感到困惑,他们可能会认为他们在回答错误的项目。

这里有两个例子:

它在设计器中的外观和外观:
正确的

这是他们在频道中的样子: 水平移位 - 直到下一张图片才能真正看到可用性问题

另外,我只是好奇,问答生成器上的紫色按钮,这些只是传统按钮还是那些被称为特殊的按钮?我一开始使用它,但后来转移到 LUIS,这似乎并没有造成差异,但仅供参考,我希望相同的按钮垂直排列,这是发生的结果(与第 1 项相比) :
影响可用性的水平

我有代码,但我认为它是框架中的东西,或者认为它是模拟器,但即使我去 bing 频道(似乎只在 Edge 中渲染,但我认为它是带有 Chrome 的 Ghostery 的 b/c)。

是容器吗,b/c 构建器中的代码总是看起来正确吗?

很抱歉是多余的,但是在问答环节,如果有人能告诉我紫色按钮在 Bot Framework 中的卡片中是否有等价物并且它们只是样式化的,或者它是否特定于问答环节,我将非常感激。

很高兴发布代码会有所帮助,但我很难过。

令人困惑并且看起来很糟糕 - 两全其美

0 投票
1 回答
1680 浏览

botframework - 未触发自适应卡片操作

我有一个名为“表单搜索”的对话框,它有一个自适应卡。当我单击提交按钮时,控件不会进入下一个流程,而是以错误结束。但是如果使用英雄卡,按钮点击会触发下一个流程。可能是什么问题。

session.message 不包含和值,也不会触发到下一个流程。

触发错误消息

错误信息截图

0 投票
1 回答
194 浏览

botframework - ActionBase 未显示在 Adaptive Card 中

我的 nuget 包及其自适应卡版本。

包名称:Microsoft.AdaptiveCards 版本=0.5.1.0

当我安装这个包时,我可以看到List<ActionBase> 添加所有自适应卡片操作。

版本=0.5.1.0的代码示例:

包名称:AdaptiveCards 版本=1.0.0

List<ActionBase>当我安装这个软件包时,由于最新版本,我看不到。如何添加多个卡片操作?

0 投票
2 回答
345 浏览

botframework - Botframework AdaptiveCard 正在失去直线上的“动作”节点

我正在使用带有 directlinejs 的 botframework C# 来构建我的机器人。

最近我注意到我的机器人停止工作,我只是发现问题是直线/机器人连接器或中间的东西正在失去我的 AdaptiveCard 的“动作”节点而不是直线。这是我的机器人(服务器)发送给客户端(botconnector 和 directlinejs)的消息。

这是 botconnector/directlinejs 传递给客户端的消息:

请注意,我的消息的“Actions”节点被中间的某些东西裁剪(botconnector 或 directlinejs,我不知道)。谁能帮助我?

我正在使用以下版本的 botframework 库:

Microsoft.Bot.Builder 版本="3.14.1.1" Microsoft.Bot.Connector" 版本="3.14.1.1"

0 投票
1 回答
825 浏览

c# - 当卡片具有超过 5 个操作时,自适应卡片不会在 Spfx 上呈现

问题:不渲染超过五个动作

背景:

我正在将 BotFramework-WebChat 与 SharePoint 框架集成,一切正常。但是,当我尝试在 WebChat 中显示具有超过 5 个操作的自适应卡片时,聊天显示给我一张带有“无法呈现卡片”文本的卡片,但如果在 BotFramework-Emulator 中测试可以正常工作或控制台 Directline 可以正常工作。

对于测试建议,我编写了一个 C# 方法,您可以在其中传递要在聊天中显示的操作数。

使用自适应卡进行测试

问题:如果有五个以上的操作,则呈现带有“无法呈现卡片”消息的卡片

异常:渲染一张具有五个以上动作的自适应卡片 private async Task MessageReceivedAsync(IDialogContext context, IAwaitable argument) { var message = await argument; var 回复 = context.MakeMessage();

截图:

使用 HeroCard 进行测试:

我只是尝试使用 HeroCard 而不是 AdaptiveCard。在这种情况下,当超过 5 个按钮时,只显示前 5 个按钮。也许这是一个限制?

问题:卡片仅呈现前五个动作

异常:渲染超过五个动作的英雄卡

0 投票
1 回答
554 浏览

botframework - 自适应卡片 js 渲染 - 不支持卡片

我正在尝试使用 javascript 渲染 SDK 来渲染我的布局。我的机器人在 message.attachments 中返回带有以下 JSON 的英雄卡。json如下:

这在网络聊天、模拟器中渲染得很好……但在我的自定义渲染中,渲染的输出是

我正在从https://unpkg.com/adaptivecards/dist/adaptivecards.js加载 sdk

我想如果 webchat 支持它,那么 javascript SDK 也应该渲染它。

0 投票
1 回答
1284 浏览

botframework - 自适应卡片 - DateInput 和 SubmitAction

主要问题

我在 Microsoft Bot Framework 中使用自适应卡片。我遇到了一个问题,在用户选择他想要的日期后,我不知道如何从 DateInput 获取值。以下是我目前的代码:

引发的当前错误

我目前遇到了这个问题,我无法找到解决方案:

抛出异常:mscorlib.dll 中的“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”

0 投票
1 回答
482 浏览

azure - 机器人生成器:自适应卡片 - 提交时调用方法

我需要创建一个用户必须填写并发送的表单。所以我必须创建一个调用另一个方法的提交按钮,但我找不到提交操作和调用另一个方法之间的链接。

我的表格脚本是:

我卡的脚本是:

MessageReceivedAsync 中的脚本是:

在此示例中,我需要使用 Id = "titre" 发送信息并在之后对其进行处理,我不知道如何发送它(DataJson ?)和哪里(MessageReceivedAsync ?)。有人能帮我吗 ?我需要为卡创建另一个对话框吗?

Ps:所有这些代码都在rootDialog中。