2016-08-30 2 views
1

Извините за мой плохой английский, но я даю все возможное :) У меня есть вопрос, и я надеюсь, что я здесь, чтобы найти ответ. Я хочу создать автономный chatbot в html/css/js и использовать программу Intel XDK.Время ответа/ответа Chatbot Код в js

  1. Я не знаю, как дать чатботу специальную команду? Итак, он отвечает на специальные слова/темы. Вот пример: «Me: эй» «Bot: эй/привет»

2. Следующая проблема, чтобы создать время отклика в специальных слов/предметов. Пример: Если я говорю «эй», должно быть время отклика от Чатбота «1мин».

Я использую этот код index.js

var $messages = $('.messages-content'), 
    d, h, m, 
    i = 0; 

$(window).load(function() { 
    $messages.mCustomScrollbar(); 
    setTimeout(function() { 
    fakeMessage(); 
    }, 100); 
}); 

function updateScrollbar() { 
    $messages.mCustomScrollbar("update").mCustomScrollbar('scrollTo', 'bottom', { 
    scrollInertia: 10, 
    timeout: 0 
    }); 
} 

function setDate(){ 
    d = new Date() 
    if (m != d.getMinutes()) { 
    m = d.getMinutes(); 
    $('<div class="timestamp">' + d.getHours() + ':' + m + '</div>').appendTo($('.message:last')); 
    } 
} 

function insertMessage() { 
    msg = $('.message-input').val(); 
    if ($.trim(msg) == '') { 
    return false; 
    } 
    $('<div class="message message-personal">' + msg + '</div>').appendTo($('.mCSB_container')).addClass('new'); 
    setDate(); 
    $('.message-input').val(null); 
    updateScrollbar(); 
    setTimeout(function() { 
    fakeMessage(); 
    }, 1000 + (Math.random() * 20) * 100); 
} 

$('.message-submit').click(function() { 
    insertMessage(); 
}); 

$(window).on('keydown', function(e) { 
    if (e.which == 13) { 
    insertMessage(); 
    return false; 
    } 
}) 

var Fake = [ 
    'Hi there, I\'m Fabio and you?', 
    'Nice to meet you', 
    'How are you?', 
    'Not too bad, thanks', 
    'What do you do?', 
    'That\'s awesome', 
    'Codepen is a nice place to stay', 
    'I think you\'re a nice person', 
    'Why do you think that?', 
    'Can you explain?', 
    'Anyway I\'ve gotta go now', 
    'It was a pleasure chat with you', 
    'Time to make a new codepen', 
    'Bye', 
    ':)' 
] 

function fakeMessage() { 
    if ($('.message-input').val() != '') { 
    return false; 
    } 

ответ

0

Самый простой способ достижения этой цели устанавливается ассоциативный массив сообщений, ответов и тайм-ауты. Как:

var Fake = { 
    "Hi": ['Hi there, I\'m Fabio and you?', 6000] 
} 

А потом получить сообщение внутри fakeMessage как

var msg = Fake[$('.message-input').val()]; 

Как улучшение выше кода, вы можете использовать $.each петлю на Fake массива и .indexOf каждого ключа в ваше сообщение, хорошо реагируют на сообщения типа «Привет там» или «Привет Фабио»

Смежные вопросы