机器人框架v4.5如何给选择提示添加额外的元数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器人框架v4.5如何给选择提示添加额外的元数据?相关的知识,希望对你有一定的参考价值。

我想列出一些选项让用户点击,我想按名称列出,但我想收到点击选项的ID。

对于这种情况,我想我可以使用 ChoicePropmt 但由于某些原因,它在我的情况下不工作。

代码。

       const projects = [
            {
                value: 'project1',
                data:'214'
            },
            {
                value: 'project2',
                data:'213'
            }
        ];
        return await stepContext.prompt(CHOICE_PROMPT, { prompt: 'Select Project', choices: projects});

在下一步的瀑布中,我尝试收集数据,并记录为: console.log(stepContext.result); 只显示值属性和其他一些属性,如同义词、索引等,但不显示数据。

我无法在瀑布的下一步接收数据属性,我也试过自适应卡,但仍然无法使其工作!有什么办法可以解决这个问题吗?任何想法如何解决这个问题?

答案

继续看一下文档。你可以看到 choices 属性接收一个字符串数组或 Choice 对象。你不能只提供你想要的任何类型的对象,并期望SDK知道如何处理它,而且 Choice 没有 data 属性,你想要的是让选择提示显示一个包含隐藏元数据的动作的卡片。

你想要的是让选择提示显示一个包含隐藏元数据的动作的卡片。默认情况下,它将构建一个包含 imBack 动作,不能包含隐藏的元数据。你可以自己用卡片制作整个活动,然后用它作为 prompt 属性,而不只是一个字符串(你会想使用 ListStyle.none 在这种情况下)。) 但你也可以尝试使用 action 属性的选择,这样你就可以使用 postBackmessageBack 而不是 imBack.

请注意,并不是所有的通道都支持将隐藏的元数据放在动作中。如果你使用的频道不支持,那么你就没有办法做到这一点。

以上是关于机器人框架v4.5如何给选择提示添加额外的元数据?的主要内容,如果未能解决你的问题,请参考以下文章

在 Woocommerce 中为订单添加额外的元数据

在Woocommerce中为订单添加额外的元数据

您的项目未引用“.NETFramework,Version=v4.5”框架。添加对“.NETFramework,Version=v4.5”的引用

使用 Swift (iOS) 和 Photos 框架保存自定义图像的元数据

如何访问发送给jqgrid的额外参数?

如何将实时语音添加到 Microsoft bot 框架的文本数据(正是 google 语音所做的)