app.setContext() в API диалогового потока v2?

Что эквивалентно app.setContext() диалогового потока из версии 1 в API версии 2? Учитывая настройку, описанную в руководстве по миграции (ниже), какой вызов вы бы сделали, например, для установки контекста, когда приветственное намерение срабатывает в демонстрационном коде ниже?

// v2
const functions = require('firebase-functions');
const { dialogflow } = require('actions-on-google');

const app = dialogflow();

app.intent('Default Welcome Intent', conv => {
  conv.ask('How are you?');
});

exports.factsAboutGoogle = functions.https.onRequest(app);

person hmisenar    schedule 01.05.2018    source источник


Ответы (1)


Установите контекст следующим образом:

    const parameters = { // Custom parameters to pass with context
      welcome: true,
    };

    conv.contexts.set('welcome-context', 5, parameters);

Второй параметр определяет продолжительность жизни контекста.

В вашем примере кода:

const functions = require('firebase-functions');
const { dialogflow } = require('actions-on-google');

const app = dialogflow();

app.intent('Default Welcome Intent', conv => {
  conv.ask('How are you?');
  const parameters = { // Custom parameters to pass with context
      welcome: true,
    };
  conv.contexts.set('welcome-context', 5, parameters);
});

exports.factsAboutGoogle = functions.https.onRequest(app);

Затем вы можете получить доступ к контекстам с помощью:

const contexts = conv.contexts;
person Denis    schedule 01.05.2018
comment
Логика не в том, чтобы получить, чтобы получить его? conv.contexts.get (параметры. приветствие) - person Gino; 07.02.2020