内联编辑器中的对话流捕获实体



我一直在尝试在对话流中实现以程。 因此,如果用户从以下四个丰富的响应(Facebook,Google,Amazon,Microsoft(中选择任何一种,将再次提示用户选择他们是否想要随机面试问题或特定的DSA主题(该公司(,之后用户从该类别中获得问题

我的代码是这样的

app.intent(COMPANY_INTENT, (conv) => {
const company = conv.parameters[COMPANY_ENTITY].toLowerCase();

conv.ask( "dsa or shuffle" );
if(company=="google" ) {

var set1=[
'"here is a question from google1 reverse a linked list"',
'"here is a question from google2 reverse a linked list"'];
var pick = Math.floor( Math.random() * set1.length );
var response = set1[pick];
conv.ask( response );

} else if(company=="microsoft"){

conv.ask("here's a question from microsoft reverse a linked list");

} else if(company=="facebook"){
conv.ask("here's a question from facebook reverse a linked list");
} else{
conv.ask("failed");
}


});

我正在尝试实现可以提示用户在特定公司的随机问题和dsa类型问题之间进行选择的流程,然后相应地将问题提供给用户。有人可以告诉如何执行此操作或编写此逻辑。

如果要回答的问题因用户选择的公司而异,则可以将要向每个公司的用户提出的问题作为响应发送回去,并在 Dialogflow 中创建后续意图以获取该问题的答案。

如果要回答的问题相同,具体取决于用户选择的公司,则最佳选择是创建必需参数以相同的意图来存储该新信息,并仅添加要提出的问题作为参数提示。这样,您将同时收到完整的两个参数(公司和随机/dsa(,并且您可以做出相应的响应。