我们能否在意图中多次使用conv.close(),以便在退出时提供多个元素?
类似于如何在一个intent中提供多个conv.ask()。
或者你可以包含多个新元素'在conv.close()标签中?
答案 0 :(得分:0)
是的,当然是两种方式!至少它是alpha当前的工作方式(可能会根据反馈而改变)。
conv.ask
和conv.close
implemented almost identically只是conv.close
将expectUserResponse
设置为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智能助理。
关闭麦克风并在模拟器中显示结果。
或者,conv.ask
和conv.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',
}))
})