我们应该怎么做才能动态地在dialogflow中输入名称并将其存储在firestore中?

时间:2018-06-28 08:50:03

标签: firebase google-cloud-firestore chatbot dialogflow

if(action === 'save.name' || inputContexts == 'welcome'){

  admin.firestore().collection('users').where('name', '==', Name).limit(1).get()
            .then(snapshot => {
                let user = snapshot.docs[0]
                if (!user) {

                    admin.firestore().collection('users').add({
                        name: Name
                    }).then(ref => {
                       console.log('Added new user');
                    });
                } else {
                    console.log('User already exists');
                }
            });
    } 

我有一个用于在Firestore数据库中存储详细信息的代码模块,该模块从dialogflow bot收集数据,我不知道如何引用在dialogflow中输入的参数(“名称”)?请帮帮我!

我尝试过--- >>让名字= app.getUser()。Name;

但是在dialogflow bot中输入该名称是行不通的!

我正在使用api v1!

1 个答案:

答案 0 :(得分:0)

如果您定义了一个Intent,则如下所示:

enter image description here

然后,可以通过以下方式在您的实现中使用参数“名称”:

var name = request.body.result.parameters.name;

请注意,参数名称区分大小写,因此,如果在控制台中将其称为“名称”,则在此处的表达式中也将其称为“名称”。