Alexa在提示

时间:2018-02-15 23:24:55

标签: alexa alexa-skills-kit alexa-skill

因此,我们正在建立一个用户可以设置提醒的系统。目前我的意图设置为提供DayTime。如果我说set reminder for next tuesday at 9pm之类的东西,在我的意图中我会看到价值进展顺利。问题是,如果我们说他们说set reminder for next tuesday之类的东西,他们给了我们一天而不是时间。所以在我的意图中,我有这样的回应:

      else if(obj.Day.value && !obj.Time.value) {
        this.response.speak(`Looks like you requested a reminder on ${obj.Day.value}, what time would you like the reminder set for?`).listen('Thanks');
        console.log(JSON.stringify(this.response, null, 2));
        this.emit(':responseReady');
      }

我遇到的问题是......我怎么得到他们说的话?我也试过了this.emit(':ask', '...'),但我仍然没有看到他们实际说的话。

对不起,如果这令人困惑,基本上这是一个简化的问题。

在Alexa询问意图中的某些内容后,我们如何得到用户的回复(缺少信息)?

1 个答案:

答案 0 :(得分:1)

为此,您需要使用elicitSlot指令。 Docs found here.

尝试:

    this.emit(':elicitSlot','slotName','intentName');

如果您将Time放入上面的"Time"媒体资源,Alexa会知道您希望填写下一位用户对slotName广告位的回复。

在Alexa控制台中,您可以指定Alexa应该如何引出该插槽。您甚至可以提供多种询问方式,Alexa将选择一种方式。