如何在彼此内部使用 if 语句来制作聊天机器人(Node.js)



我正在尝试使用 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!")
}

最新更新