Очистка входящего контекста агента в узле SDK не работает - PullRequest
0 голосов
/ 27 мая 2018
  • У меня есть агент диалогового потока с намерением 'test_contexts', с включенным webhook.
  • При сопоставлении этого намерения я хотел бы контролировать входящие / исходящие контексты в диалоге, используя полные заполнения.
  • Я не могу удалить контекст из входящего запроса из диалогового потока.
  • Например, в приведенном ниже коде, если входящий запрос содержит контекст 'loggedin', он не будет удален.

Полный код

'use strict';

const { WebhookClient } = require('dialogflow-fulfillment');
const { Card, Suggestion } = require('dialogflow-fulfillment');

exports.MyAgent = (request, response) => {

    // Create a webhookclient class
    const agent = new WebhookClient({ request, response });

    // Create function to test context control
    const test_context = function(agent){

        // fails to remove incoming context, set previously in the conversation
        agent.clearContext('loggedin');

        // fails to remove/modify incoming context, set previously in the conversation
        agent.setContext({ name: 'loggedin', lifespan: 0 });

        // successfully removes contexts set at the current point in the conversation, however, fails to remove any incoming contexts (as the name suggests)
        agent.clearOutgoingContexts();

    }

    // Define which functions are called for which intents
    let intentMap = new Map();
    intentMap.set('test_contexts', test_context);

    agent.handleRequest(intentMap);
}

Как удалить контекст, поступающий из Dialogflow?!

1 Ответ

0 голосов
/ 02 июня 2018

agent.setContext ({name: 'loggedin', продолжительность жизни: -1});успешно удалил контекст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...