2015-12-30 2 views
-2

Я пытаюсь создать простой чат-бот. Пока бот-ответ - это тип пользователя в заданном вопросе. Но как я могу сделать так, чтобы chatbot выдавал «извините, я не понимаю», если пользователь спрашивает то, что не определено?JQUERY, AJAX if else statement

function ai(message){ 
    if (username.length<3){ 
     username = message; 
     send_message("Nice to meet you " + username + ", how are you today?"); 
     responsiveVoice.speak("Nice to meet you " + username + ", how are you today?"); 
    } 

    if (message.toLowerCase().indexOf("how are you")>=0){ 
     send_message("Thanks, Iam good!"); 
     responsiveVoice.speak("Thanks, Iam good!"); 
    } 

    if (message.toLowerCase().indexOf("time")>=0){ 
     var date = new Date(); 
     var h = date.getHours(); 
     var m = date.getMinutes(); 
     send_message("Current time is "+h+":"+m); 
    } 

    if (message.toLowerCase().indexOf("thanks")>=0){ 
     send_message("You are welcome"); 
    } 

    if (message.toLowerCase().indexOf("Thank you")>=0){ 
     send_message("No Problem"); 
    } 

    if (message.toLowerCase().indexOf("thank you very much")>=0){ 
     send_message("Welcome Sir!");   
    } 
} 
+0

Ранние возвращается из 'if's, когда определено, и последняя строка в функции посылает" извините "сообщение? – Teemu

+0

У вас есть пример? Я не понимаю, как вернуться раньше? – PXDN

+0

??? Просто положите 'return' в качестве последней строки в блоке' if'. – Teemu

ответ

0

else?

if (message.toLowerCase().indexOf("how are you")>=0){ 
    send_message("Thanks, Iam good!"); 
    responsiveVoice.speak("Thanks, Iam good!"); 
} else { 
    send_message("sorry I don't understand"); 
    responsiveVoice.speak("sorry I don't understand"); 
} 

Вы также можете использовать switch заявление:

switch (message.toLowerCase()) { 
    case "how are you": 
    send_message("Thanks, Iam good!"); 
    responsiveVoice.speak("Thanks, Iam good!"); 
    break; 
    case "something else": 
    send_message("something else"); 
    responsiveVoice.speak("something else"); 
    break; 
    default: 
    send_message("sorry I don't understand"); 
    responsiveVoice.speak("sorry I don't understand"); 
} 
+0

Я обновил свой код выше. Я попробовал ELSE в вашем примере, но это не сработало, так как я умножаю IF. Ваш SWITCH тоже не работал. Я использую jquery 1 – PXDN

+0

Так что используйте его так: 'if() {} else if() {} else if() {} else {}'. И покажите свой код 'switch'. –

0

ответ предоставленный Теему

function ai(message){ 
      if (username.length<3){ 
       username = message; 
       send_message("Nice to meet you " + username + ", how are you today?"); 
       responsiveVoice.speak("Nice to meet you " + username + ", how are you today?"); 
       return; 
      } 

      if (message.toLowerCase().indexOf("how are you")>=0){ 
       send_message("Thanks, Iam good!"); 
       responsiveVoice.speak("Thanks, Iam good!"); 
       return; 
      } 

      if (message.toLowerCase().indexOf("time")>=0){ 
       var date = new Date(); 
       var h = date.getHours(); 
       var m = date.getMinutes(); 
       send_message("Current time is "+h+":"+m); 
       return; 
      } 

      if (message.toLowerCase().indexOf("thanks")>=0){ 
       send_message("You are welcome"); 
       return; 
      } 

      if (message.toLowerCase().indexOf("Thank you")>=0){ 
       send_message("No Problem"); 
       return; 
      } 

      if (message.toLowerCase().indexOf("thank you very much")>=0){ 
       send_message("Welcome Sir!"); 
      } else { 
    send_message("sorry I don't understand"); 
    responsiveVoice.speak("sorry I don't understand"); 
}