Je cherche à définir / changer plusieurs contextes en fonction de la réponse de l'utilisateur. Pour cela, j'essaie de définir un contexte de sortie avec agent.setContext() en utilisant la bibliothèque fulfillment via l'éditeur en ligne (node.js). Je veux supprimer les contextes définis par l'intention dans Dialogflow et ajouter de nouveaux contextes dans les contextes de sortie de Dialogflow.
Cela fonctionne bien lors de la définition d'un contexte de sortie en appelant avec agent.setContext() en node.js mais cela génère une erreur lorsque je passe une liste de plusieurs contextes dans agent.setContext() comme indiqué ci-dessous:
Note : J'ai donné 3 contextes de sortie (context_name_1, context_name_2, context_name_3) dans le contexte de sortie de l'intention de Dialogflow.
Extrait de code :
function intent_name(agent) {
... // texte de réponse défini pour l'utilisateur
...
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
}]);
....
}
Je reçois une erreur comme suit :
Erreur : le contexte doit être fourni et doit avoir un nom
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)
Toute aide serait appréciée.