首页 文章

如何使用“退出”来停止Alexa技能或处理无法识别的话语?

提问于
浏览
0

我正在玩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 回答

  • 0

    如果要处理无法识别的话语,只需创建 Unhandled 请求即可 .

    'Unhandled': function () {
         const speech_output = 'Goodbye and take care!'
         this.emit(':tell', speech_output);
    }
    

    这应该可以解决您的“退出”问题无法解决的问题 .

  • 2

    我遇到过同样的问题 . 简单的修复,添加“退出”作为AMAZON.StopIntent的话语

相关问题