【问题标题】:Alexa getting response from user after promptAlexa在提示后得到用户的响应
【发布时间】:2018-02-19 01:25:14
【问题描述】:

因此,我们正在建立一个用户可以设置提醒的系统。目前我的意图是提供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 有意图地询问某事后,我们如何从用户那里获得响应(对于缺失的信息)?

【问题讨论】:

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


    【解决方案1】:

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

    试试:

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

    如果您将"Time" 放入上面的slotName 属性中,Alexa 就会知道您想要填充下一个用户对Time 槽的响应。

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

    【讨论】:

    • 谢谢,一定会试试的。
    猜你喜欢
    • 1970-01-01
    • 2017-05-10
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多