Невозможно передать данные через намерения при выполнении Dialogflow - PullRequest
0 голосов
/ 09 января 2019

В Dialogflow Fulfillment я просто хочу передать данные из Welcome Intent в Intent помощи с помощью conv.user.storage, как показано в коде ниже. Я могу добавить его в приветственном намерении, но когда я пытаюсь извлечь его из справочного намерения, оно всегда не определено, то есть данные НЕ передаются в намерение помощи. Я потратил несколько часов на то, что, как мне показалось, было прямолинейным и играл безуспешно. Я был бы очень признателен за реальный пример того, как это исправить, и понял, что я делаю неправильно.

function welcome(agent) {
   agent.add(request.body.queryResult.fulfillmentMessages[0].text.text[0]);
    var entity = 'media_getreq?message=volume';
    getData(entity).then(result => {
        let conv = agent.conv();
        conv.user.storage["devicedata"] = result;
        console.log(conv.user.storage["devicedata"]); //WORKS
    });
}

function help(agent) {              
        agent.add(request.body.queryResult.fulfillmentMessages[0].text.text[0]);
        let conv = agent.conv();
        console.log(conv.user.storage["devicedata"]); //ALWAYS EMPTY
}

1 Ответ

0 голосов
/ 23 февраля 2019

Вы пропустили Contexts критический компонент, необходимый для связи намерений. Контексты представляют текущее состояние пользователя запросите и разрешите вашему агенту передавать информацию о разговоре из одного намерения в другое. Вы можете использовать комбинации контекстов ввода и вывода для управления диалоговым путем, по которому пользователь проходит через последовательность диалогов.

В итоге, намерение, которое собирает ваш Welcome ввод, использует выходной контекст, чтобы «запомнить» то, что вы сказали. Тот же контекст используется в качестве входного контекста для следующего намерения, которое собирает входные данные в Help Intent.

Вам необходимо соответствующим образом обновить свой код. Пожалуйста, смотрите для деталей:

https://dialogflow.com/docs/contexts

https://dialogflow.com/docs/contexts/contexts-api

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