我们希望有多个网站来放置我们的聊天机器人,但我们想要确保使用1个中间件,但在内部我们想跟踪来自哪个站点的来源 . 我认为像这样配置js站点的botconnection并不是一件容易的事:
var bot = {
id: 'mysite1',
name: 'mysite1'
};
BotChat.App({
botConnection: botConnection,
user: user,
bot: bot
}, document.getElementById("BotChatGoesHere"));
但我无法在中间件的流程中找到“mysite1”,似乎机器人服务无论如何都将它转换为一些guid,所以我明确地将这个mysite1添加到pageLoad事件,我也用它来启动chatbot交互,当用户加载时页:
(function sendEvent() {
botConnection
.postActivity({ type: "event", value: "mysite1", from: { id: localStorage.getItem("guidJD"), name: localStorage.getItem("guidJD") }, name: "userLoadPage" })
.subscribe(id => console.log("success"));
})();
它工作,但不稳定,有时页面加载事件以某种方式在组件的实际加载和对话框的启动后触发,所以在对话的开始我不需要我的原始信息 . 你有任何想法如何解决这个问题?或者说我做错了 . 或者我应该在 Channels 中添加新网站?我们希望通过调用api来做到这一点 .