对话框流上下文



我遇到了一些问题,我无法从对话流上的上下文访问我的参数,我只是尝试使用agent.getContextagent.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');

我建议继续更新每个事务中的上下文,因为如果您跨越多个事务,它将自动终止该上下文。

最新更新