javascript - 如何在 Alexa 中以编程方式清除自定义槽值?

标签 javascript alexa-skills-kit alexa-slot

我有一项 Alexa 技能,需要以编程方式覆盖用户给出的值。

我尝试过取消该值,然后将其作为“更新的意图”传递。

this.event.request.intent.userPrompt.value = null;
var updatedIntent = this.event.request.intent;
this.emit(':elicitSlot', 'userPrompt',"Say something","Say something", updatedIntent);

但是,输入 JSON 显示以前的值。有没有办法解决这个问题?

最佳答案

delete this.event.request.intent.slots.<slotname>.value;
var updatedIntent = this event.request.intent;
this.emit(':elicitSlot', <slotname>,"Say something","Say something", updatedIntent);

如果您有一个自定义插槽类型的插槽,您还必须

delete this.event.request.intent.slots.<slotname>.resolutions;

关于javascript - 如何在 Alexa 中以编程方式清除自定义槽值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48090335/

相关文章:

javascript - iOS 应用程序扩展 javascript 参数在 CompleteRequest 后未定义

javascript - 调整 Canvas 和 webGL 纹理的大小

node.js - 从 promise.then() 方法返回 handler.ResponseBuilder

aws-lambda - Alexa Skill - 如何在 Lambda 函数中检索槽值

node.js - Alexa 技能中的搜索功能

alexa-skills-kit - 如何在 Alexa 的 HelpIntent 中获取对话数据

javascript - 我可以使用 React 应用程序作为静态 HTML 页面上的组件吗

javascript - 将警告消息添加到 jqGrid 中的 navButton

node.js - 如何在 Alexa 中循环播放音频

aws-lambda - 如何为Alexa技能动态添加广告位值