2017-06-20 4 views
-2

J'essaie de créer un simple chatbot avec node.js mais j'ai de la difficulté à obtenir si les instructions fonctionnent. Je veux que les instructions if soient à l'intérieur les unes des autres afin que l'utilisateur puisse seulement discuter "Comment allez-vous?" s'il a déjà dit "Bonjour". La méthode actuelle que j'utilise ne fonctionne pas du tout. Je ne suis pas sûr s'il pourrait y avoir une méthode différente pour faire ceci ou je le fais juste mal? Merci beaucoup d'avance!Comment utiliser si des instructions les unes dans les autres pour créer un chatbot (Node.js)

if (message == "Hello") { 
chat.respond(id, "Hi!") 
if (message == "How are you?") { 
chat.respond(id, "Very good sir!") 
} 
} 

Répondre

0

Je pense que votre code devrait ressembler à ceci:

if (message == "Hello") { 
    chat.response(id, "Hi!") 
} else if (message == "How are you?") { 
    chat.response(id, "Very good sir!") 
} 

Le problème avec votre code d'origine est que si message est déjà « Bonjour », il ne sera jamais égal « ? Comment allez-vous » , par conséquent, le if ne sera jamais exécuté.

Et si vous voulez le "Comment allez-vous?" être après le "Bonjour", alors vous pouvez faire quelque chose comme:

// place this variable in an outer scope 
var receivedHello = false 

// your if statement 
if (message == "Hello") { 
    receivedHello = true 
    chat.response(id, "Hi!") 
} else if (receivedHello && (message == "How are you?")) { 
    chat.response(id, "Very good sir!") 
}