使用Dialogflow Conv.Data或Conv.User.Storage的简单计数器

时间:2018-11-09 18:48:03

标签: node.js typescript google-cloud-functions dialogflow actions-on-google

我正在寻找使用Google的动作在firebase函数的对话中创建一个超级简单的计数器。

documentation建议:

acc

但是,打字稿无法将转换数据后的点标记识别为值,并且不允许部署代码。

据我所知,使用

app.intent('Default Welcome Intent', conv => {
   conv.data.someProperty = 'someValue'
})

可以,但似乎不允许对整数进行计数...

我尝试过:

app.intent('Default Welcome Intent', conv => {
 conv.data["someProperty"] = 1;
})

我觉得我在这里错过了一些非常基本的东西。

谢谢

1 个答案:

答案 0 :(得分:3)

我认为您需要明确指定要使用的变量类型。

尝试定义如下接口:

//use this in conv.data

interface ConvData {
  counter?: number  
}

// use in conv.user.storage
interface UserStorage {
  location?: string
  name?: string
}

并将应用初始化为:

const app = dialogflow<ConvData, UserStorage>({ debug: true })

然后使用

app.intent('Default Welcome Intent', conv => {
   conv.data.counter = 1
})

参考:Actions on Google TS sample