对话流上下文
Dialogflow Context
我遇到了一些问题,我无法从 dialogflow 的上下文访问我的参数,我只是尝试使用 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');
我建议在每个事务中不断更新上下文,因为它的生命周期会在您跨越多个事务时自动终止该上下文。
我遇到了一些问题,我无法从 dialogflow 的上下文访问我的参数,我只是尝试使用 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');
我建议在每个事务中不断更新上下文,因为它的生命周期会在您跨越多个事务时自动终止该上下文。