过滤和转换消息

元数据可用于扩展机器人的功能,方法是提供双向通信方法来传输和操作无法通过其他方法轻松捕获的数据。

发送元数据可以提供您原本不具备的信息的常见示例是发送用户当前正在浏览的当前URL。

下方为用户当前浏览的Url的属性被添加到元数据的例子。

const delegate = {
    beforeSend(message) {
        if (message.role === 'appUser') {
            message.metadata = {
                ...message.metadata,
                currentUrl: window.location.href
            };
        }

        return message;
    }
};

Stackchat.init({
    appId: <app-id>,
    delegate
})

这个操作也可以伴随下列数据回传而被完成。

const delegate = {
    beforePostbackSend(postback) {
        postback.metadata = {
            ...postback.metadata,
            currentUrl: window.location.href
        };

        return postback;
    }
};

Stackchat.init({
    appId: <app-id>,
    delegate
})

此外, 你也可以在原数据中根据机器互动发送一个重新定向的需求使得用户移动到一个新的页面。