2017-06-20 5 views
-2

Ich versuche, einfache Chatbot mit node.js zu erstellen, aber ich habe Probleme, wenn Anweisungen zu arbeiten. Ich möchte, dass die if-Anweisungen ineinander liegen, damit der Benutzer nur "Wie geht es dir?" Chatten kann. wenn er schon "Hallo" gesagt hat. Die aktuelle Methode, die ich verwende, funktioniert überhaupt nicht. Ich bin mir nicht sicher, ob es andere Methoden geben könnte, um dies zu tun, oder ich mache es einfach falsch? Vielen Dank im Voraus!Wie zu verwenden, wenn Aussagen ineinander zu machen, Chatbot (Node.js)

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

Antwort

0

Ich denke, Ihr Code wie folgt sein sollte:

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

Das Problem mit Ihrem ursprünglichen Code ist, dass, wenn message bereits „Hallo“, dann wird es nie gleich „Wie du bist“ Daher wird der innere if niemals ausgeführt.

Und wenn Sie das "Wie geht es dir?" um nach dem "Hallo" zu sein, dann können Sie etwas tun wie:

// 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!") 
}