我正在使用google和Dialogflow上的操作来构建机器人。
我想知道如何在用户提出要求时轻松重复最后一句话(“请重复”)。
一种方法是在Dialogflow中重复后续意图,但这很重,因为:
有谁知道如何做到这一点?
答案 0 :(得分:2)
从广义上讲,最好的方法是利用Dialogflow Contexts。在发送消息时,您还可以将该消息添加到上下文中(例如,您可以将其称为" last_message")。然后,您可以使用另一个Intent作为输入上下文" last_message"上下文,如果触发,则使用上下文中保存的值重复它。
@SysCoder有一个package,可以帮助你为node.js做这个。
答案 1 :(得分:0)
接受一个通用变量并将所有意图的响应保存到其中,然后进行一个意图重复,其响应就是该通用变量。
let prevSpeech = '';
app.intent('Default Welcome Intent', (conv) => {
const speech =`Welcome to My world`;
conv.ask(new SimpleResponse({
speech:speech,
text: `Welcome to my world`,
}));
prevSpeech = speech;
});
app.intent('Repeat', (conv) => {
conv.ask(new SimpleResponse({
speech:prevSpeech,
text: prevSpeech
}));
});