Dialogflow:根据日期或日期重定向到特定块

Dialogflow : Redirect to specific block based on date or day

我目前正在 dialogflow 中构建一个测验聊天机器人,我想知道是否可以根据日期或日期将用户重定向到特定意图。

示例:

  1. I would want users to take a daily quiz if the day is (Monday - Saturday).

  2. If its Sunday sends them to intent for a weekly quiz.

  3. If its the last day of the month send them to intent for the monthly quiz.

谢谢

Intents 捕获用户所说的内容,而不是您发送的内容或您处理他们发送的内容的方式。所以你不能 "redirect" 一个特定的 Intent 用户。

相反,您 可以 确定作为 webhook 实现的一部分,它是星期几并发送适当的问题。您可以在上下文中设置一个参数来指示您问的是哪个问题,这样当他们回答时,您就可以确切地知道他们在回答哪个问题。然后,您将有一个 Intent 接受他们的答案,并且 fulfillment 评估该答案并适当回复。

假设用户对您的聊天机器人说 "I wanna take a quiz",这会触发意图 take.quiz。在实现代码中,您可以根据 day/date 设置 followupEvents。

例如。如果是周一到周六,就这样 agent.setFollowupEvent('take.quiz.daily'); 这将 "redirect" 用于日常测验。

类似

intentMap.set('take.quiz', takeQuiz);

function takeQuiz(agent) {
  //if day is Monday-Saturday
  agent.setFollowupEvent('take.quiz.daily')

  //if day is Sunday
  agent.setFollowupEvent('take.quiz.weekly')

  //if its last day of the month
  agent.setFollowupEvent('take.quiz.monthly')
}