我目前正在dialogflow中构建一个问答聊天机器人,我想知道是否可以根据日期或日子将用户重定向到一个特定的意图。
举个例子:我想让用户在哪天进行每日测验?
我想让用户每天进行一次测验,如果这一天是(周一至周六)。
如果是周日,则将其发送到每周测验的意图。
如果是每月的最后一天,则将其发送到每月测验的意图。
谢谢您的支持
假设用户对您的聊天机器人说 "我想做个测验",这将触发意图 take.quiz
. 在履行代码中,你可以根据它的daydate来设置followupEvents。
例如,如果是周一到周六,就可以这样做。agent.setFollowupEvent('take.quiz.daily');
这样就会将其 "重定向 "到日常测验意图。
类似于
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')
}
捕捉意图 用户的话 而不是你发送的内容或你如何处理他们发送的内容。所以你不能将用户 "重定向 "到一个特定的意图。
相反,您可以 可以 作为webhook执行的一部分,确定今天是星期几,并发送相应的问题。你可以在上下文中设置一个参数来表明你问的是哪个问题,这样当他们回答时,你就知道他们到底在回答哪个问题。然后你就会有一个Intent接受他们的回答,而履行会评估这个回答并适当地回复。