Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用彼此内部的if语句生成chatbot(Node.js)_Javascript_Node.js_Chatbot_Statements - Fatal编程技术网

Javascript 如何使用彼此内部的if语句生成chatbot(Node.js)

Javascript 如何使用彼此内部的if语句生成chatbot(Node.js),javascript,node.js,chatbot,statements,Javascript,Node.js,Chatbot,Statements,我正在尝试使用node.js创建简单的聊天机器人,但是我在使if语句正常工作时遇到了问题。我希望if语句彼此在一起,这样用户只能聊天“你好吗?”?如果他已经打招呼了。我目前使用的方法根本不起作用。我不确定是否有不同的方法来做这件事,或者我只是做错了??提前谢谢你 if (message == "Hello") { chat.respond(id, "Hi!") if (message == "How are you?") { chat.respond(id, "Very good sir!")

我正在尝试使用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!")
}
原始代码的问题是,如果消息已经是Hello,那么它将永远不会等于How are you?,因此内部if将永远不会执行

如果你想要这个,你好吗?要在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!")
}