Я строю Chatbot, некоторые из сценариев являютсяфункция Javascript не связывая к следующему
var convpatterns = new Array (
new Array (".*hi.*", "Hello there! ","Greetings!"),
new Array (".*ask me*.", Smoking),
new Array (".*no*.", "Why not?"),
Как вы можете видеть, если набрано пользователь «привет», то Chatbot ответить либо Привет там или Привет! И если пользователь набрал «задавать мне вопрос», он ссылается на функцию Smoking().
function Smoking(){
window.iSpeech.speak(speakPluginResultHandler,nativePluginErrorHandler,"Do you smoke?");
return field
SmokingAnswer()
}
function SmokingAnswer(){
var userinput=document.getElementById("messages").value;
if (userinput="yes"){
window.iSpeech.speak(speakPluginResultHandler,nativePluginErrorHandler,"Oh no! Smoking is not good for your health!");
}else if(userinput="no"){
window.iSpeech.speak(speakPluginResultHandler,nativePluginErrorHandler,"Good to hear that you are not smoking!");
}
return field
}
Таким образом, внутри функции сигарет(), то Chatbot будет устно попросить пользователь «Вы курите?», И он должен затем связать к следующей функции, которая является SmokingAnswer(), где пользователь может либо тип в yes или no, и chatbot затем даст ответ на основе ответа от пользователя. Однако прямо сейчас, если я набрал «задавать мне вопрос», чатбот спрашивает «Ты курите?», Но когда я набираю «нет», вместо того, чтобы говорить «Приятно слышать, что ты не курите!», Чатбот говорит: «Почему бы и нет?» основанный на новом массиве.
Update (изменяется на основании предложения, но до сих пор не работает):
function initialCap(field) {
field = field.substr(0, 1).toUpperCase() + field.substr(1);
return field
}
function Smoking(){
window.iSpeech.speak(speakPluginResultHandler,nativePluginErrorHandler,"Do you smoke?");
SmokingAnswer()
}
function SmokingAnswer(){
var userinput=document.getElementById("messages").value;
if (userinput=="yes"){
window.iSpeech.speak(speakPluginResultHandler,nativePluginErrorHandler,"Oh no! Smoking is not good for your health!");
}else if(userinput=="no"){
window.iSpeech.speak(speakPluginResultHandler,nativePluginErrorHandler,"Good to hear that you are not smoking!");
}
return field
}
См. Мой обновленный вопрос, он все еще не работает. Но цените предложения о контрпартнерах! – michelle9090
@ michelle9090: Изменение вопросов для включения ответов (или иначе сделать ответы неактуальными) заключается не в том, как работает SO. Это не для интерактивной отладки, а для вопросов и ответов. –
О, извините, я думал, что это было всего лишь несколько модификаций, изменение его в вопросе заставит вопрос выглядеть не очень долго. Я изменил его и поставил обновленную версию под ним – michelle9090