我正在尝试使用 node 创建简单的聊天机器人.js但我无法让 if 语句正常工作。我希望 if 语句彼此内部,以便用户只有在已经说"你好"的情况下才能聊天"你好吗?"。我正在使用的当前方法根本不起作用。我不确定是否有不同的方法来做到这一点,或者我只是做错了??提前非常感谢!
if (message == "Hello") {
chat.respond(id, "Hi!")
if (message == "How are you?") {
chat.respond(id, "Very good sir!")
}
}
我认为你的代码应该是这样的:
if (message == "Hello") {
chat.response(id, "Hi!")
} else if (message == "How are you?") {
chat.response(id, "Very good sir!")
}
原始代码的问题在于,如果message
已经是"Hello",那么它永远不会等于"你好吗?",因此内部if
永远不会被执行。
如果你想让"你好吗?"在"你好"之后,那么你可以做这样的事情:
// 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!")
}