首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在对话流实现中跨意图传递数据

无法在对话流实现中跨意图传递数据
EN

Stack Overflow用户
提问于 2019-01-10 04:16:56
回答 1查看 1.1K关注 0票数 0

在Dialogflow Fulfillment中,我只是想使用conv.user.storage将数据从欢迎意图传递到帮助意图,如下面的代码所示。我可以将它添加到欢迎意图中,但是当我尝试在帮助意图中检索它时,它总是未定义的,这意味着数据不会传递给帮助意图。我花了几个小时在一些我认为是直截了当的事情上,并没有取得任何成功。我真的很感激一个真实的例子,告诉我如何修复它,并理解我做错了什么。

代码语言:javascript
复制
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
}
EN

回答 1

Stack Overflow用户

发布于 2019-02-23 19:29:26

您遗漏了Contexts,这是链接意图所需的关键组件。上下文表示用户请求的当前状态,并允许您的座席将会话信息从一个意图传输到另一个意图。您可以使用输入和输出上下文的组合来控制用户在对话序列中遍历的对话路径。

总之,收集Welcome输入的意图使用输出上下文来“记住”您说过的话。相同的上下文用作下一个intent的输入上下文,它将输入收集到HelpIntent中。

您需要相应地更新代码。有关详细信息,请参阅:

https://dialogflow.com/docs/contexts

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54117666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档