操作在谷歌NodeJS v2 alpha:多个conv.close()

时间:2018-03-19 21:42:18

标签: actions-on-google

我们能否在意图中多次使用conv.close(),以便在退出时提供多个元素?

类似于如何在一个intent中提供多个conv.ask()。

或者你可以包含多个新元素'在conv.close()标签中?

1 个答案:

答案 0 :(得分:0)

是的,当然是两种方式!至少它是alpha当前的工作方式(可能会根据反馈而改变)。

conv.askconv.close implemented almost identically只是conv.closeexpectUserResponse设置为false,这意味着您不会期望更多来自用户和麦克风将关闭。

这意味着您可以像conv.close一样使用conv.ask并多次调用它。

例如,此代码:

const { dialogflow } = require('actions-on-google')

const app = dialogflow()

app.intent('Default Welcome Intent', conv => {
  conv.close(`Here's a cat image`)
  conv.close(new Image({
    url: 'https://developers.google.com/web/fundamentals/accessibility/' +
      'semantics-builtin/imgs/160204193356-01-cat-500.jpg',
    alt: 'A Cat',
  }))
})

IntentHandler函数执行完毕(或者如果它返回Promise,当Promise被解析时),根据响应片段构造RichResponse提供并将其发送回Dialogflow或Google智能助理。

关闭麦克风并在模拟器中显示结果。

Actions on Google Simulator Multiple Close Screenshot

或者,conv.askconv.close也允许您使用任意数量的响应参数调用它。因此,此代码也将与之前的示例相同:

app.intent('Default Welcome Intent', conv => {
  conv.close(`Here's a cat image`, new Image({
    url: 'https://developers.google.com/web/fundamentals/accessibility/' +
      'semantics-builtin/imgs/160204193356-01-cat-500.jpg',
    alt: 'A Cat',
  }))
})