2017-09-03 2 views
0

Je crée comme AWS Lex chatbot avec ce flux: L'utilisateur commence à dire open my bot et il y a quelques questions posées par Lex, l'utilisateur doit y répondre et enfin un certain nombre est généré et c'est l'emplacement Fulfilled.garder la session après réponse dans lex

Voici mon code:

if (source === "DialogCodeHook") { 
    if (!sessionAttributes.isFlowDone) { 
    //multiple questions asked and managed by using Elicit Slots 
    //once the questions are complete I set sessionAttributes.isFlowDone=true; 
} else { 
    sessionAttributes.isFlowDone = false; 
    callback(close(intentRequest.sessionAttributes, "Fulfilled", buildMessage(finalMessageWithANumber))); 
} 

Le problème est que, lors des tests dans la fenêtre de discussion AWS Lex, lorsque le numéro est généré, si vous désactivez la console et tapez open my bot, les questions sont une fois Je demande à nouveau open my bot sans effacer la fenêtre de discussion, il me donne un autre numéro au lieu de me poser les questions (directement le rappel fulfilled est appelé). S'il vous plaît laissez-moi savoir comment puis-je résoudre ce problème et continuer mon flux.

+0

Pouvez-vous poster votre code complet, c'est-à-dire les questions et où le numéro est généré? – AndyOS

Répondre

0

La console utilise un ID utilisateur aléatoire (qui est envoyé dans l'API PosText/PostContent) lorsque vous testez le bot dans la fenêtre de conversation de la console. En cliquant sur le bouton 'effacer', la console génère un autre identifiant utilisateur aléatoire. De même, une session de bot est associée à un identifiant d'utilisateur, donc cliquer sur le bouton 'clear' fournit une expérience comme un nouvel utilisateur parle au bot (donc toutes les questions sont posées à nouveau). J'espère que ça répond à ta question.

+0

Puis-je réinitialiser l'ID utilisateur par programme? – user3872094

+0

Si vous utilisez Lex SDK au lieu d'une fenêtre de discussion dans la console, vous pouvez contrôler l'ID d'utilisation que vous transmettez via SDK. Dans le cas d'une fenêtre de discussion, il n'est pas recommandé de contrôler l'identifiant de l'utilisateur. – Saurabh