执行动作
执行动作可以分成两种:前置动作及後置动作。
前置动作
如果您想在机器人发送讯息给用户前执行动作,要使用前置动作,例如储存特定的用户标签,或者收集用户回覆建立用户档案。为了进行这一系列动作,您需要建立tempData去储存用户的资料。
储存用户性别的例子:
return new Promise((resolve) => {
this.member.botMeta.tempData.gender = this.messageEvent.data.text
resolve({
member: this.member
})
})
如果您会使用星制在脸书平台上制作公共留言回覆的机器人,您也可以执行以下的前置动作去储存用户在您专页上留言的内容。
储存脸书留言内容的例子:
return new Promise(async (resolve, reject) => {
try {
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,
})
resolve()
} catch (e) {
reject(e)
}
})
属性 | 简介 |
---|---|
postId | 代表留言连结的脸书帖子ID。 |
isMatched | 如果是正确留言的对话点,要设定为true;如果是错误留言的对话点,则要设定为false。 |
this.member.fbId | 代表用户在专页上留言的ID号码,每个人都有独立的一串号码,且只有在用户留言时才会产生。 |
name | 代表用户在专页上留言的脸书帐号名称,只有在用户留言时才会产生。 |
後置动作
相反,如果您想在机器人发送讯息给用户後执行动作,就要使用後置动作。我们建议默认执行储存用户踪迹的动作。这能帮助您追踪您的用户目前位置,他与机器人的对话进行到哪个步骤,方便您日後做重定向广告。
储存用户踪迹的例子:
return new Promise((resolve) => {
this.member.botMeta.nodeCompositeId = this.node.compositeId
this.member.botMeta.tree = this.node.tree
resolve({
member: this.member,
})
})
假如您想在机器人的下一条讯息里,运用用户上一条讯息给您的内容作为素材,您一定要执行前置动作去储存该讯息的内容才可以。
动手试试看
您可以在执行动作的页面,先行设定好您整个对话流程中需要使用的执行动作。
建立新的执行动作
- 点击「+ Action」按钮以建立新的执行动作
- 输入所需的编码
- 点击「Save」按钮以储存执行动作
- 在对话点资讯区选择您要使用的执行动作
点击「+Action」按钮
新增一个空白的用户介面
储存用户踪迹的例子