【问题标题】:How to use Intent Chaining with Intent Confirmation in Alexa?如何在 Alexa 中使用 Intent Chaining 和 Intent Confirmation?
【发布时间】:2019-06-29 21:36:28
【问题描述】:

我正在尝试混合使用对话管理和意图链接。我已禁用自动委派。

但我坚持, 当用户填写所有槽值,然后我使用意图确认并提示他数据是否正确。

如果用户说“不”。 我想重新启动对话管理以实现相同的意图。

但我得到的错误是, “指令“Dialog.Delegate”只能在对话框处于活动状态且尚未完成时使用”。

我尝试用其他意图替换第 15 行,它可以工作,但当我发送相同意图的指令时就不行了。 有谁知道我错过了什么?

const DeniedPostMessageIntentHandler = {
    canHandle(handlerInput) {
      return handlerInput.requestEnvelope.request.type === 'IntentRequest' &&
        handlerInput.requestEnvelope.request.intent.name === 'PostMessageIntent' &&
        handlerInput.requestEnvelope.request.dialogState === 'COMPLETED' &&
        handlerInput.requestEnvelope.request.intent.confirmationStatus === 'DENIED';
    },
    handle(handlerInput) {
        let speechText = ri('POST_MESSAGE.DENIED');
        return handlerInput.jrb
          .speak(speechText)
          .addDelegateDirective({
            name: 'PostMessageIntent',
            confirmationStatus: 'NONE',
            slots: {}
          })
          .getResponse();
    },
};

【问题讨论】:

    标签: node.js alexa alexa-skills-kit alexa-skill


    【解决方案1】:

    注意 - 我正在使用禁用自动委托的对话管理。

    Alexa 使用 dialogState = IN_PROGRESSconfirmationStatus = DENIED 发送请求,甚至在使用 dialogState = COMPLETEDconfirmationStatus = DENIED 发送相同请求之前。

    错误

    “指令“Dialog.Delegate”只能在对话框处于活动状态时使用 并没有完成”

    对此有一些提示,但需要注意的一点是,我们可以在 dialogState = COMPLETED 中为单独的意图启动对话委托,但不能为相同的意图执行此操作。

    因此,如果您想为相同的意图重新启动对话,当意图确认被拒绝时,您必须在 dialogState 仍为 IN_PROGRESS 时执行此操作。如果您想以任何其他方式处理意图确认被拒绝,那么您也可以在 dialogState 为 COMPLETED 时执行此操作。

    解决我上述问题的方法是简单地将 canHandle 函数中的 dialogState 更改为 IN_PROGRESS 而不是 COMPLETED

    canHandle(handlerInput) {
      return handlerInput.requestEnvelope.request.type === 'IntentRequest' &&
        handlerInput.requestEnvelope.request.intent.name === 'PostMessageIntent' &&
        handlerInput.requestEnvelope.request.dialogState === 'IN_PROGRESS' &&
        handlerInput.requestEnvelope.request.intent.confirmationStatus === 'DENIED';
    }
    

    发现这个深埋在 - https://forums.developer.amazon.com/comments/206243/view.html

    亚马逊应注意并将其添加到文档中。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 2016-05-31
    • 2018-03-13
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多