Dialog.Delegate指令未返回Alexa技能模型

时间:2019-06-17 13:37:42

标签: node.js alexa alexa-skill alexa-slot alexa-dialog

我有一个意图需要三个位置的技能。所有三个插槽都是必需的,最后一个插槽也需要确认。 我使用request.dialogState

获取插槽的值

插槽为:

  1. item1:必填
  2. item2:必填
  3. item3:必填项,且需要确认

如果在“ IN_PROGRESS” if块的情况下尝试返回Dialog.Delegate指令,则不会执行任何操作。

switch (request.dialogState) {
        case 'STARTED':
          if (slots.item1.value && slots.item1.value && slots.item3.value) {
            await super.checkItem(input);
            return input.responseBuilder.addDelegateDirective(request.intent).getResponse();
          } else {
            return input.responseBuilder.addDelegateDirective(request.intent).getResponse();
          }
        case 'IN_PROGRESS':
          if (
            slots.item1.value &&
            slots.item2.value &&
            slots.item3.value &&
            slots.item3.confirmationStatus === 'NONE'
          ) {
            await super.checkItem(input);
            return input.responseBuilder.addDelegateDirective(request.intent).getResponse();
          } else if (
            slots.item1.value &&
            slots.item2.value &&
            slots.item3.value &&
            slots.item3.confirmationStatus !== 'NONE'
          ) {
            await this.checkConfirmation(input);
            return input.responseBuilder.addDelegateDirective(request.intent).getResponse();
          } else {
            return input.responseBuilder.addDelegateDirective(request.intent).getResponse()
          }
        case 'COMPLETED':
          return this.finalCreate(input);
        default:
          return null;
      }

0 个答案:

没有答案