Я пытаюсь установить / изменить несколько контекстов в зависимости от ответа пользователя. Для этого я пытаюсь установить контекст вывода с помощью agent.setContext (), используя библиотеку выполнения через встроенный редактор (node.js). Я хочу удалить контексты, заданные намерением в диалоговом потоке, и добавить новый контекст в контексты вывода Dialogflow.
Он отлично работает при установке одного выходного контекста путем вызова с agent.setContext () в node.js, но выдает ошибку, когда я передаю список нескольких контекстов в agent.setContext (), как показано ниже:
Примечание: я дал 3 выходных контекста (context_name_1, context_name_2, context_name_3) в контексте вывода Dialogflow Intent.
Фрагмент кода:
function intent_name(agent) {
... // defined text response for user
...
agent.setContext([{
'name':'context_name_1',
'lifespan': 10
},
{
'name':'context_name_2',
'lifespan': 0
},
{
'name':'context_name_3',
'lifespan': 0
},
{
'name':'context_name_4',
'lifespan': 3
}]);
....
}
Я получаю сообщение об ошибке:
Error: context must be provided and must have a name
at WebhookClient.setContext (/srv/node_modules/dialogflow-fulfillment/src/dialogflow-fulfillment.js:343:13)
at prepaidRecharge (/srv/index.js:45:15)
at WebhookClient.handleRequest (/srv/node_modules/dialogflow-fulfillment/src/dialogflow-fulfillment.js:303:44)
at exports.dialogflowFirebaseFulfillment.functions.https.onRequest (/srv/index.js:92:9)
at cloudFunction (/srv/node_modules/firebase-functions/lib/providers/https.js:57:9)
at /worker/worker.js:783:7
at /worker/worker.js:766:11
at _combinedTickCallback (internal/process/next_tick.js:132:7)
at process._tickDomainCallback (internal/process/next_tick.js:219:9)
Любая помощь будет оценена по достоинству.