我正在玩Alexa SDK,我遇到了一个奇怪的行为 . 我正在尝试实现用户结束会话的所有可能方式 . 我遇到的问题是“退出”这个词让Alexa说“有一个问题......”并立即退出技能 . 所有其他单词如“停止”或“取消”工作正常并返回再见消息 .
以下是我实现处理程序的方法:
'AMAZON.CancelIntent': function () {
this.emit('SessionEndRequest');
},
'AMAZON.StopIntent': function () {
this.emit('SessionEndRequest');
},
'SessionEndRequest': function() {
const speech_output = 'Goodbye and take care!'
this.emit(':tell', speech_output);
},
正如您所看到的那样,为了使这一点尽可能简单,我将StopIntent和CancelIntent重定向到SessionEndRequest,它返回一个再见消息 . 这很有效,除了"exit",这是无法识别的 .
有没有办法实现这个?我尝试使用自定义意图(称为ExitIntent),其中话语“exit”加上一堆其他类似“see ya”,“直到下一次”,并且除了“退出”话语之外一切正常 .
或者有办法处理一个无法识别的话语 - 即 . 返回HelpIntent?
2 回答
如果要处理无法识别的话语,只需创建
Unhandled
请求即可 .这应该可以解决您的“退出”问题无法解决的问题 .
我遇到过同样的问题 . 简单的修复,添加“退出”作为AMAZON.StopIntent的话语