2017-09-11 2 views
0

Je travaille sur un bot de node.js facebook messenger et je dois stocker la réponse de l'utilisateur à partir d'un message que le bot envoie pour être appelé plus tard, vraisemblablement par l'utilisation de une variable.Stocker la réponse de l'utilisateur dans une variable - facebook messenger bot js

// defines that 'text' is any message sent by the user 
let text = event.message.text 

// if the user's text contains 'Savings', 'saving', 'calculator', or 'Calculator, the following conditions will occur: 
if (text.search("Saving") >= 0 || text.search("saving") >= 0 || text.search("Calculator") >= 0 || text.search("calculator") >= 0) { 
    sendTextMessage(sender, "How much would you like to save?"); 
    // here is where I want to store the response to how much money the user wants to save 
} 

Toute aide serait grandement appréciée!

Répondre

0

Le PSID avec la clé comme simple chose à faire serait de le stocker dans un objet:

let cache[psid] = value;

Le problème avec l'utilisation d'une variable est qu'il est pas particulièrement stable. Si le processus de noeud se bloque, vous perdez votre cache. Idéalement, vous devriez utiliser un magasin de valeur de clé externe. Redis est une option très facile à mettre en place.

+0

Je n'arrive pas à comprendre comment enregistrer le texte suivant envoyé par le destinataire. – sickguy125

+0

Ainsi, par exemple, si je demande combien d'argent ils doivent économiser et qu'ils répondent '125', je dois être en mesure de déterminer que '125' est le prochain message envoyé par le destinataire – sickguy125

+0

Si vous le stockez un objet, alors vous venez d'écraser la valeur précédente: let messages = {}; message [user_psid] = 125 console.log (message [user_psid]) // 125 message [user_psid] = "nouvelle valeur" console.log (message [user_psid]) // "nouvelle valeur – amuramoto