WOZTELL聊天机器人中的高级动作和预动作,优化对话流程

机器人生成器 | 行动

树节点可以有 预动作 和 后动作 ,而全局节点可以有 动作

预动作 会在回复执行并发送之前执行,而 后动作 则会在回复执行并发送之后执行。

一个 动作 是一个 Promise 函数 ,可用于逻辑处理、内部数据库操作和外部API调用。可以获取并编辑会员对象。你可以使用Promise函数的 resolve 回调来返回一个以 member 为键的对象。然后,会员对象可以传递到后续节点。所有相关节点执行完成后,会员详情会保存到数据库中。

预动作

预动作 是你希望在向用户发送回复之前执行的动作,比如保存特定标签到会员,或者收集用户答案以构建用户画像。为此,你需要创建 tempData 来存储用户画像中的相关数据。

保存用户性别的示例:


return new Promise((resolve) => {
this.member.botMeta.tempData.gender = this.messageEvent.data.text
resolve({
member: this.member.
})
})
如果你在WOZTELL上开发Facebook公共回复聊天机器人,可以写下面的预动作来保存每个用户的 评论 。

保存用户评论的示例:

return new Promise(async (resolve, reject) => {
const result = await this.savePostCommentAnalytics({
comment: this.messageEvent.data.text
postId: this.messageEvent.data.post_id,
isMatched: true,
memberId: this.member._id,
fbId: this.member.fbId,
name: this.messageEvent.data.from.name,
channelId: this.member.channel,
appId: this.member.app,
}


属性

描述
postId 表示你特定 Facebook 帖子的 ID。
isMatched 如果是正确的评论触发器,则设置为“true”;如果是错误的评论触发器,则设置为“false”。
this.member.fbId 表示对帖子的评论用户的唯一用户 ID。只有在用户评论后才会创建。
name 表示对帖子的评论用户的 Facebook 用户名。只有在用户评论后才会创建。

后置动作

后置动作 是你希望在向用户发送回复后执行的动作。建议设置一个默认的后置动作:保存CompositeId。这将帮助你跟踪用户在会话流程中的位置,从而能够读取他们的轨迹并为未来的精准投放做分析。

保存用户轨迹示例:

return new Promise((resolve) => {
this.member.botMeta.nodeCompositeId = this.node.compositeId
this.member.botMeta.tree = this.node.tree
resolve({
member: this.member,
})

Idea
提示
如果你想在即将发送的消息回复中包含某个特定数据,必须先用预动作存储该数据。

创建动作

你可以提前规划整个聊天机器人流程,并创建帮助你收集用户数据的动作,集中在一个单独页面,称为:动作

  1. 点击编辑Bot Builder中的节点。

  2. 点击“+ 新动作”创建一个新的预动作。

  1. 为动作命名,方便以后搜索和重复使用。然后选择“高级”。
  1. 应用动作代码,并“保存”预动作。
  1. 最后,保存该节点的更改。

高级聊天机器人动作

有些有用的聊天机器人动作只能通过资源模板的高级模式写代码才能应用。为方便普通用户使用,WOZTELL推出了一套高级聊天机器人动作,所有用户均可使用。

这些高级动作包括:

  • “保存 TempData”
  • “订阅”
  • “取消订阅”
  • “启用实时聊天”
  • “禁用实时聊天”
  • “切换语言”
  • “保存会员信息到数据源”
  • “调用API”
  • “设置日程”
  • “移除日程”

变量

动作中的文本字段也支持变量。