将请求交给其他意图

Handing requests off to other intents

我有一个具有 3 个意图的 dialogflow 代理:

我的意图有一个 firebase 网络钩子来实现。当我进入与我的聊天机器人的对话时,我得到 Default Welcome Intent。但是,当我问一个由 My Intent 处理的问题时,我似乎陷入了 My Intent,即使在那之后我说了类似 hello 的话。如何退出我的履行并清除状态,以便默认回退和默认欢迎再次开始工作?我见过的很多实现示例都在自定义实现中处理这些其他意图,当您已经配置了这些默认值时,这似乎是错误的。另一个例子是,我启用了 SmallTalk,在问了一个由 My Intent 填写的问题后,我问了 'how old are you',这个意图针对 My Intent 触发了 agent.smalltalk.age真的没有意义。

履行代码:

var https = require ('https');
const functions = require('firebase-functions');
const DialogFlowApp = require('actions-on-google').DialogFlowApp;
const WELCOME_INTENT= 'Default Welcome Intent';
const FALLBACK_INTENT = 'Default Fallback Intent';

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {

  let action = request.body.queryResult.action;
  response.setHeader('Content-Type','applicaiton/json');
  const parameters = request.body.queryResult.parameters;

  console.log("action: " + action)
  if (action === 'input.wifi'){
    getClientCount(parameters['geo-city'], response);
  }
});

function getClientCount(location, CloudFnResponse) {
          var chat = "sample text";
          CloudFnResponse.send(buildChatResponse(chat));
          return;
        });
});

}

function buildChatResponse(chat) {
    return JSON.stringify({"fulfillmentText": chat});
}

默认后备意图:

默认欢迎意图:

我的意图:

请忽略最后一个屏幕截图中的 'end of conversation' 复选框,我正在尝试查看它如何改变我截屏时的行为。

关闭 smalltalk 解决了这个问题,从预建代理中导出所有 Smalltalk 意图并将它们导入我的代理中,让 smalltalk 正常工作。