重复最后一句话

时间:2017-12-10 10:18:28

标签: bots repeat actions-on-google dialogflow

我正在使用google和Dialogflow上的操作来构建机器人。

我想知道如何在用户提出要求时轻松重复最后一句话(“请重复”)。

一种方法是在Dialogflow中重复后续意图,但这很重,因为:

  • 你需要在每个意图后添加一个,我有很多
  • 在多用户环境中,您需要跟踪每个用户的最后一句话......

有谁知道如何做到这一点?

2 个答案:

答案 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
  }));
});