Клиент Node.js для wit.ai вызывает несколько настраиваемых действий


person user3344591    schedule 26.04.2016    source источник


Ответы (2)


Вам нужно создать контекст для каждого сеанса, и это быстрый пример (из https://github.com/wit-ai/node-wit/blob/master/examples/messenger.js):

const findOrCreateSession = (fbid) => {
  let sessionId;
  // Let's see if we already have a session for the user fbid
  Object.keys(sessions).forEach(k => {
    if (sessions[k].fbid === fbid) {
      // Yep, got it!
      sessionId = k;
    }
  });
  if (!sessionId) {
    // No session found for user fbid, let's create a new one
    sessionId = new Date().toISOString();
    sessions[sessionId] = {
      fbid: fbid,
      context: {         // New context per session id.
        _fbid_: fbid
      }
    }; // set context, _fid_
  }
  return sessionId;
};

Рабочий пример можно найти на странице https://github.com/hunkim/Wit-Facebook.

person Sung Kim    schedule 26.04.2016

Я полагаю, что остроумный движок не хранит контекст на своей стороне. Функция «объединения» должна объединять объекты по-разному, в зависимости от логики вашего приложения.

Но если ваша история завершена, вам нужно прояснить контекст для следующих историй. Я добавил встроенную функцию clear-context и вызвать эту функцию из остроумия как действие.

Посмотрите мой пример. Это не официальный API, но вы можете понять, как работает http API.

person Vitaly Domnikov    schedule 08.05.2016