dialogflow-es - 对话流上下文
问题描述
我遇到了一些问题,我无法从对话框流的上下文中访问我的参数,我只是尝试使用agent.getContext
但agent.context.get
仍然无法正常工作。
有我设置上下文的代码
function noTelp(agent){
const telp = agent.parameters.phoneNumber;
let query = db.collection('pelanggan').where('no_telp','==',telp);
return query.get().then(snapshot => {
if (snapshot.empty) {
agent.add('Mohon Maaf data no telepon '+telp+' tidak ditemukan');
agent.add('untuk menambahkan data kamu silahkan tuliskan nama kamu');
agent.setContext({ >set the context
name : 'tambahData',
lifespan : 2,
parameters : {noTelp : telp}
});
console.log('No matching documents.');
return;
}
}
这用于调用上下文
function tambahData(agent){
const context = agent.getContext('tambahData'); >get the context
const telp = context.parameters.noTelp; >get the parameters from context
const nama = agent.parameters.nama;
agent.add(nama+telp); >test calling parameters
}
解决方案
使用 V1 或 V2 中的一致方法。您可以如下修改代码,它将起作用。我只能这样工作。
设置上下文:
agent.context.set({
name: 'global_main_context',
lifespan: 5,
parameters: param
});
获取上下文
let globalContext = agent.context.get('global_main_context');
我建议继续更新每个事务中的上下文,因为如果您跨越多个事务,它将自动终止该上下文的生命周期。
推荐阅读
- swift - 计算上下文中绘制的文本大小(核心图形)?
- html - 如何在其上方放置一个带有图像和文本的列表,彼此相邻
- python - 如何在 Tkinter python 中隐藏或删除我的按钮?
- python - 类型声明类型对象不是可下标的列表
- mongodb - 有没有办法将任意条件应用于 MongoDB 聚合?
- python - 为什么我的python代码中的“,”有语法错误?
- java - Java Date - 闰年 - 奇怪的行为
- java - Repast 聚合数据集,但在 Repast Simphony 中分别针对每个实例
- android - Android:使用 Android API 29 的 Ricoh Theta 连接问题
- jquery - 向两个端点提交数据后,Ajax 无法重定向到感谢 URL