重定向
基本
重定向
如果您想要重定向到相同的树或其他树中的任何对话点,请在这里设置重定向。此选项不是强制性的,当您要发送在其他位置的对话点响应时才适用。
属性 | 简介 | 必须? |
---|---|---|
Tree | 要重定向到的树 | 是 |
Node | 要重定向到的对话点 | 是 |
重定向后,有 Fine Tuning 选项可以设置,您可以使用开关开启或关闭以下设置:
- 重定向后发送响应
- 重定向后运行前置动作
- 重定向后运行後置动作
进阶
此时,您可能已经掌握了重定向(Redirect)的基本版本。用法非常简单:启动重定向,聊天机器人就会被重定向到相应的对话点。然而,基本可能无法满足所有的聊天机器人用例。
假设在某种情况下,如果用户只能在某个时间段(办公时间)内启动现场聊天,Stella就首先需要检查时间,然后确定用户是否应该允许进行实时聊天。
以上就需要案例使用进阶版本的重定向,并根据不同的用例(e.g. 办公时间)重定向到不同的对话点。
您的结果是什么?
聊天机器人的框架
聊天机器人的框架:进阶重定向
动手试试看
进阶重定向
当您在「基本」(Basic)中启动重定向时,您需要选择重定向到哪一棵「对话树」(Tree)和哪一个「对话点」(Tree Node)。如果要以编程方式自定义重定向,可以在切换「重定向」(Redirect)后单击「进阶」(Advanced)。
如果在进阶模式将resolve()留空,即使您已启动了重定向,也不会重定向到任何的对话点。
进阶模式允许您根据所引发的情况选择不同的对话点,开发人员可以根据不同的情况编写重定向的代码,并通过输入对话点的「组合ID」(Composite ID)来决定是否需要重定向或者重定向到到哪个对话点。
在以下情况,系统会根据事件发生的时间重定向用户到不同的对话点。例如,如果用户在非办公时间请求实时聊天,则不会触发实时聊天的对话点。相反,系统会发送非办公时间消息,因为用户被重定向到非办公时间的对话点。
return new Promise((resolve, reject) => {
const today = this.moment().utcOffset(8)
let nodeCompositeId
this.fetchDataFromDataSource({
collectionName: "Insert the sample datasource ID with public holiday in the format of year/month/date",
filter: {
year: `${today.year()}`,
month: `${today.month() + 1}`,
date: `${today.date()}`,
}
}).then((json) => {
console.log("json", json)
if (json.length) {
// is Holiday
nodeCompositeId = "Insert the composite ID of the node which consists the non-office hour/holiday message"
} else {
console.log("holiday Check", this.moment().utcOffset(8).hour())
// not Holiday
if (
this.moment().utcOffset(8).day() > 0 &&
this.moment().utcOffset(8).day() < 6 &&
this.moment().utcOffset(8).hour() >= 9 &&
this.moment().utcOffset(8).hour() < 18
) {
// is Office Hour
nodeCompositeId = "Insert the composite ID of the node which triggers the live chat"
} else {
// not Office Hour
nodeCompositeId = "Insert the composite ID of the node which consists the non-office hour/holiday message"
}
}
resolve({
tree: this.node.tree,
nodeCompositeId
})
})
})
小提示:
- 您可以随时根据不同的消息事件(message event)的逻辑更改重定向的方式。有关消息事件(message event)的详细资料,请参阅参考文档。