Исключение при интеграции DialogflowConversation с Fulfillment SDK
Я использую Node.js Fulfillment SDK ( https://github.com/dialogflow/dialogflow-fulfillment-nodejs) и хочу интегрировать de DialogflowConversation для доступа к пользовательскому хранилищу.
Я пытаюсь использовать этот простой код:
let conv = agent.conv();
conv.ask("HEY");
agent.add(conv);
Но сервер терпит неудачу с этим исключением:
Error: No responses defined for platform: ACTIONS_ON_GOOGLE
at V2Agent.sendResponses_ (/srv/node_modules/dialogflow-fulfillment/src/v2-agent.js:243:13)
at WebhookClient.send_ (/srv/node_modules/dialogflow-fulfillment/src/dialogflow-fulfillment.js:505:17)
at promise.then (/srv/node_modules/dialogflow-fulfillment/src/dialogflow-fulfillment.js:316:38)
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:228:7)
Я в настоящее время использую эту библиотеку:
"dependencies": {
"firebase-admin": "^5.13.1",
"firebase-functions": "^2.0.2",
"dialogflow-fulfillment": "^0.6.1",
"actions-on-google": "^2.5.0",
"i18n": "^0.8.3"
}
Что я делаю неправильно?
Спасибо
2 ответа
Я предполагаю, что это то, что вы делаете, что приводит к заявленной ошибке. Попробуйте использовать только действия на Google.
Это должно решить вашу ошибку:
agent.add("HEY");
а для доступа к пользовательскому хранилищу используйте библиотеку actions-on-google, как показано ниже:
'use strict';
const {
dialogflow,
} = require('actions-on-google'); // Import the firebase-functions package for deployment.
const functions = require('firebase-functions'); // Instantiate the Dialogflow client.
const app = dialogflow({
debug: true
});
app.intent('WELCOME', (conv) => {
conv.data.count = 1;
conv.ask('Hi there, what can I help you with today?');
});
Проверьте похожие проблемы #151 и #160 в github-репозитории dialogflow-выполняться-nodejs. Кажется, это решение вашей проблемы. Возможно, вы могли бы войти туда и предоставить информацию или временно использовать ветку, которая могла бы решить вашу проблему: https://github.com/dialogflow/dialogflow-fulfillment-nodejs/commit/c5f1555e05d4abbc20dd9b39f6edf88249fe4aa1 (см. В PR № 179)
npm install --save dialogflow/dialogflow-fulfillment-nodejs#c5f155
Если вы планируете поддерживать Google Assistant как интеграцию, лучше использовать SDK Actions-on-Google. У этого есть более богатая поддержка для ответов и взаимодействий.