botframework - 直接点击后建议的操作消失
问题描述
我已经使用节点 js 配置了 Microsoft bot 框架 v4 的直接通道。我在欢迎信息中建议了操作。当我单击任何建议的操作时,它会在 UI 中消失,但它会收到对机器人的响应。
var msg = MessageFactory.suggestedActions(
CardFactory.actions([
{
type: 'messageBack',
title: 'xyz',
value: 'xyzDialog'
}]),'please select choice');
await context.sendActivity(msg);
您能否指导我如何使它显示为最终用户单击了建议的操作?
提前致谢。
解决方案
根据此处的文档:
与显示在丰富卡片中的按钮不同(即使在被点击后用户仍然可以看到和访问),显示在建议操作窗格中的按钮将在用户做出选择后消失。这可以防止用户在对话中点击过时的按钮并简化机器人开发(因为您不需要考虑这种情况)。
因此,简而言之,您无法通过建议的操作达到您想要的结果。你有几个选择:
- 处理您的机器人代码中的建议操作并将回复发送回用户,感谢他们的输入(并可能将他们的输入重复给他们“感谢您选择 X”)。
- 根据这个过时的 示例,使用 CardAction 代替。
- 使用自适应卡(新方式),这里有一个示例,以及详细指南。
最后两种方法的缺点是用户将能够重复单击这些按钮,因此您的机器人必须在后端处理多个提交。
推荐阅读
- android - SwipeRevealLayout 在 recyclerview 滚动期间隐藏拖动的部分
- excel - 输出生成问题(Ps 代码运行)
- javascript - 如何使消息显示在模板中
- angular - ERROR TypeError: layer.addEventParent is not a function while setting marker for marker cluster in angular
- java - Annotation @NotEmpty doesn't check if String is null
- matplotlib - 以不规则间隔绘制日期时间 x 轴
- java - 使用 Java 在 Excel 工作表中打印空单元格相邻单元格值
- sql - 不知道我是否需要 NEST 或 JOIN 或其他什么?
- javascript - Javascript:生成自定义数量的 TextAreas
- excel - 下标超出范围,不进入循环