我以这种方式向dialogflow发送了一个请求:
responses = await sessionClient.detectIntent(request)
我还使用了来自Google动作的“对话流”来处理这样的意图:
app.intent('Get_Name', (conv, {name}) => {
conv.ask("I got you")
conv.ask(`You just called me ${name}. (from typescript)`)
});
但是,我无法从“ detectIntent”的“ response”返回中提取响应,我只能看到:
DialogFlow.sendTextMessageToDialogFlow: Detected intent [ { responseId: 'some_id',
[Node] queryResult:
[Node] { fulfillmentMessages: [Array],
[Node] outputContexts: [],
[Node] queryText: 'hello ivan',
[Node] speechRecognitionConfidence: 0,
[Node] action: '',
[Node] parameters: [Object],
[Node] allRequiredParamsPresent: true,
[Node] fulfillmentText:
[Node] 'Cannot display response in Dialogflow simulator. Please test on the Google Assistant simulator instead.',
[Node] webhookSource: '',
[Node] webhookPayload: [Object],
[Node] intent: [Object],
[Node] intentDetectionConfidence: 1,
[Node] diagnosticInfo: [Object],
[Node] languageCode: 'en-us' },
[Node] webhookStatus:
[Node] { details: [], code: 0, message: 'Webhook execution successful' } },
[Node] undefined,
[Node] undefined ]
Google上的操作响应包含正确的结果,但我不知道如何在代码中获得该结果。 从dialogflow,我只能在对话流模拟器中得到“无法显示响应”。请改为在Google Assistant模拟器上进行测试。'
当我刚刚这样做的时候,它工作正常:
app.intent('Get_Name', (conv, {name}) => {
conv.ask(`You just called me ${name}. (from typescript)`)
});
我想做的是从自定义的UI发送一条消息,然后将其发送到dialogflow,dialogflow将使用webhook进行处理,然后得到响应,并将其发送回客户端。 我对Node.js和dialogflow完全陌生...
所以,我应该在哪里或如何获得正确的答复。