如何在彼此内部使用 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!")
}
我正在尝试使用 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!")
}