我在Google主页(Dialogflow)上有一个查询。
具体来说,在我执行回退意图三次后,它会以一条语句退出
对不起,我不能帮忙
但是它应该提示
我要结束本次会议,稍后再见。
这是后备意图代码
app.intent('Default Fallback Intent', (conv) =>
{
const repromptCount = parseInt(conv.arguments.get('REPROMPT_COUNT'));
if (repromptCount === 0) { conv.ask(`Hey are you listening?`); }
else if (repromptCount === 1) { conv.ask(`Are you still around?`); }
else if (conv.arguments.get('IS_FINAL_REPROMPT')) { conv.close(`I am ending this session see you again later.`); }
});
答案 0 :(得分:0)
我假设您尝试按照documentation about dynamic reprompts中的指示进行“无输入”类型的响应。
问题似乎是您正试图将其用于“后备意图”,该意图没有专门在NO_INPUT事件上触发。因此,它正在进行测试,并且未设置REPROMPT_COUNT或IS_FINAL_REPROMPT参数。
如果您使用的是multivocal library,它将保留所有被调用的Intent和Action(用于会话和顺序)的计数器,并具有一些有助于响应的宏。
如果要使用现有库,则需要自己进行跟踪并将其存储在Context中或存储在会话数据对象中。
如果您打算将此作为“无输入”响应的一部分,则需要确保将其与设置了actions_intent_NO_INPUT
事件的Intent一起使用。