机器人框架 V 4.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);仅显示 value 属性和其他一些属性,如同义词、索引等,但不显示数据。

我无法在瀑布的下一步接收数据属性,我也尝试了自适应卡片,但仍然无法使其工作!知道如何解决这个问题吗?

继续查看文档。您可以看到choices属性采用字符串数组或Choice对象。你不能只提供你想要的任何类型的对象,并期望SDK知道如何处理它,Choice没有data属性。

您希望选择提示显示包含隐藏元数据的操作的卡片。默认情况下,它将使用imBack操作构造一个卡片,这些操作不能包含隐藏的元数据。您可以自己使用该卡进行整个活动,然后将其用作prompt属性,而不仅仅是字符串(在这种情况下,您可能希望使用ListStyle.none(。但是,您可能还想尝试使用您选择的action属性,以便可以使用postBackmessageBack而不是imBack

请注意,并非所有频道都支持将隐藏的元数据放入操作中。如果您使用的频道没有,那么您将无法执行此操作。

最新更新