我正在做一个简单的助手,除了启动命令字外没有其他任何交互。一旦开始,我想在一段时间后说出各种短语。
我目前正在尝试通过一些setTimeout()
调用DialogFlow Fulfillment进行此操作,但是它没有启动例程。
setTimeout()
吗?如果没有,我该怎么用空格隔开这些语句理想流量
答案 0 :(得分:2)
似乎在实现中,您必须使用SSML标签。使用<break time=30</>
间隔30秒钟或15秒钟。
请参阅SSML链接以实现:-https://developers.google.com/actions/reference/ssml
答案 1 :(得分:0)
Google和Dialogflow上的操作是对话式的-大多数交互是用户说出一些东西,AoG / Dialogflow进行答复,然后重复此过程。您无法在服务器上使用setTimeout()
,因为答复已经发送完毕。
您的回复中可以包含SSML markup来做您想要的休息,但是您的回复仍然受到总时长(大约2分钟)的限制,并且可能比您想要的例行程序要短得多。
一种更好的方法是使用Media Response做事情。这使您可以发送一些文本,然后发送mp3音频。音频完成后,它将向您的服务器发送一条消息,您可以发送下一条指令(和音频)。这样做的缺点是时间安排不精确-您可以控制说话的时间长度和音频的持续时间,但是网络往返会有些滞后。