Vajon hogyan fog egy felhasználó választ egy adott chatbot kérdés? Úgy értem, például ha a felhasználó kéri a chatbot az időjárás és a chatbot reagál vissza kérve a felhasználó melyik városban. Ezt követően azt szeretnék nyomon követni, amit a felhasználó válaszol a kérdésre. Ahhoz, hogy a város lehetne használni hív időjárás api a város. Nem tudom, hogyan kell nyomon követni a felhasználó választ erre a kérdésre. Tudja valaki, és ha igen, hogyan lehetséges ez?
hogyan kell nyomon követni a felhasználó választ egy adott chatbot üzenetet node.js
..I oldotta meg úgy, hogy egy globális változó a chatbot felteszi a kérdést
global.variable = 1;
Amikor a felhasználó válaszol a bejövő szöveges üzenet az esemény akkor és tudom ellenőrizni, hogy a globális jelző be van állítva. Ez azt jelzi, hogy ez a felhasználó válaszát követően a kérdést tették fel. Tudok majd kap az üzenet szövegét várost az üzenetet. Ez jól működik, az én esetemben, de ha valaki tudja a jobb alternatíva kérem tudassa velem
Annak érdekében, hogy több felhasználó érheti el a chatbot egyszerre, akkor a legjobb, hogy nyomon követhesse az egyes felhasználók és az egyes felhasználók beszélgetés állapotban. Abban az esetben, a Messenger API, ez lenne:
const users = {}
const nextStates = {
'What country are you in?': 'What city are you in?',
'What city are you in?': 'Let me look up the weather for that city...'
}
const receivedMessage = (event) => {
// keep track of each user by their senderId
const senderId = event.sender.id
if (!users[senderId].currentState){
// set the initial state
users[senderId].currentState = 'What country are you in?'
} else {
// store the answer and update the state
users[senderId][users[senderId].currentState] = event.message.text
users[senderId].currentState = nextStates[users[senderId.currentState]]
}
// send a message to the user via the Messenger API
sendTextMessage(senderId, users[senderId].currentState)
}
Akkor lesz a válasz minden egyes felhasználó számára tárolt usersobjektumot. Ön is használja egy adatbázisban tárolja ezt.













