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

How to use if statements inside each other to make chatbot(Node.js)

我正在尝试使用 node.js 创建简单的聊天机器人,但我无法使用 if 语句。我希望 if 语句位于彼此的内部,以便用户只能在已经说 "Hello" 的情况下聊天 "How are you?"。我目前使用的方法根本不起作用。我不确定是否有不同的方法可以做到这一点,或者我只是做错了?提前致谢!

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",那么它将永远不会等于 "How are you?",因此永远不会执行内部 if .

如果您希望 "How are you?" 位于 "Hello" 之后,您可以执行以下操作:

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