我对Alexa的回应有某些疑问。

1. this.emit(':ask', speechOutput, repromptSpeech)

我知道this.emit(':tell',speechOutput)将导致Alexa说出speechOutput然后关闭会话,并且this.emit(':ask', speechOutput, repromptSpeech)不会关闭会话,Alexa将等待用户输入。但是(用户提供的)新输入将存储在哪里。例如:

用户:“ blah blah blah” 2号是星期几{本来应该是广告位输入}

Alexa:对不起,我没有得到日期/*speechOutput*/。你会为我重复一遍吗? /*repromptSpeech*/

用户:那是2018年1月2日。

现在,此新信息将在2018年1月2日存储在哪里。
有什么函数可以传递可以存储用户新响应的参数?

2.`this.emit(':responseReady')`

如果我在没有调用函数this.response.speak(speechOutput)的情况下多次使用this.emit(':responseReady'),它将按预期运行,还是Alexa会说出首先遇到的speechOutput

3.如何使对话互动?

以我的能力,我向用户提供了很多不好的数据。
到目前为止,我一直在做的是:


一,从网上获取结果
二。建立所有数据(其中
包含100多行)
三,用speechOutputspeechOutput


但是我想知道有没有办法让我给用户2或3行回复,然后问“您想了解更多吗?”。根据用户的回答,即“是”或“否”,我将讲更多的结果,或者只是从技能上讲this.emit(':tell',speechOutput)

最佳答案

是的,您可以使用SSML提供2线或3线响应,并发出询问,以便Alexa麦克风可以打开,以接受用户的输入,具体取决于您提出的问题类型,您必须像“您是否知道更多”那样处理意图。用户的可能响应为Amazon.Yes / Amazon.No。使用状态具有更好的意图映射。

关于node.js - Alexa响应和响应生成器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48625529/

10-09 22:24