我正在使用事实技能模板,我正在修改它,因此在读出随机事实后,它会询问用户是否愿意另一个。我在这里搜索过,但类似的问题似乎有不同的语法。
我不知道我是否应该以不同的方式实现这一点,但我不确定我的代码中出了什么问题。我相信我的问题是.listen,如果我应该在某个地方使用.emit。 (这是在其他例子中实现的方式)
我可能是错的,但据我所知,我的代码使用的是响应构建器,而其他人则采用不同的方式。
任何帮助都将不胜感激,如果有人能指出我使用这个响应构建器来实现它的正确方向,它将帮助我很多。
我也有内置的是/否意图,但他们现在并没有做任何事情。
const GetNewFactHandler = {
canHandle(handlerInput) {
const request = handlerInput.requestEnvelope.request;
return request.type === 'LaunchRequest'
|| (request.type === 'IntentRequest'
&& request.intent.name === 'GetNewFactIntent');
},
handle(handlerInput) {
const randomFact = data[i];
const speechOutput = (GET_FACT_MESSAGE + randomFact + NEXT_MESSAGE)
return handlerInput.responseBuilder
.speak(speechOutput)
.listen(REPROMPT_MESSAGE);
.withSimpleCard(SKILL_NAME, randomFact)
.getResponse();
},
};
答案 0 :(得分:2)
将.listen()更改为.reprompt()