即使获得值,也会询问相同的广告位“ Alexa语音提示”

时间:2019-05-01 12:29:28

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

让我尝试解释一下我的情况。我有一个Intent FundTransfer,询问诸如“您现在要还是以后要进行转账?”之类的问题。用户稍后说。

然后,我将重定向到另一个计划转移的意图。

节点代码:

return handlerInput.responseBuilder
        .addDelegateDirective({
          name: "ScheduleTransferIntent",
          confirmationStatus: "NONE",
          slots: {}
        })
        .withShouldEndSession(false)
        .getResponse();

ScheduleTransferIntent有2个插槽,scheduleDate和scheduleTime。

我让Alexa处理这些插槽。我有一个未完成状态的处理程序,

const StartedInProgressScheduleTransferIntentHandler = {
  canHandle(handlerInput) {
    return (
      handlerInput.requestEnvelope.request.type === "IntentRequest" &&
      handlerInput.requestEnvelope.request.intent.name ===
        "ScheduleTransferIntent" &&
      handlerInput.requestEnvelope.request.dialogState !== "COMPLETED"
    );
  },
  handle(handlerInput) {
    return handlerInput.responseBuilder.addDelegateDirective().getResponse();
  }
};

scheduleDate是Amazon.Date类型,我已将其设为必填项。

Alexa语音提示:我应该安排在哪个日期进行转移?

用户话语:{scheduleDate}

当用户给出类似明天的答案时,我可以看到该值已满,但Alexa再次问了同样的问题。

现在,如果我添加一个新的用户话语,

用户话语:

{scheduleDate}

在{scheduleDate}

当用户给“明天”时,Alexa询问时间。为什么会这样?我不想在答案前添加任何文本。

更新:当我回答“明天”时,它可以工作,但是当我给出日期时,则是同样的问题。但是设备日志会显示我填写的值,

"payload": {
        "skillId": null,
        "timestamp": "2019-05-01T11:46:47.644Z",
        "dialogRequestId": "5d2dc23b-899c-4656-9be4-65faf1df88ec",
        "skillRequestId": null,
        "type": "ConsideredIntents",
        "content": {
            "intents": [
                {
                    "name": "ScheduleTransferIntent",
                    "confirmationStatus": "NONE",
                    "slots": {
                        "scheduleTime": {
                            "name": "scheduleTime",
                            "value": null,
                            "confirmationStatus": "NONE",
                            "encryptedValue": null
                        },
                        "scheduleDate": {
                            "name": "scheduleDate",
                            "value": "2019-09-25",
                            "confirmationStatus": "NONE",
                            "encryptedValue": null
                        }
                    }
                }
            ]
        }
    }

0 个答案:

没有答案