我正在使用directline进行网络聊天。
我想在聊天的顶部添加一个刷新按钮,为此我需要会话ID。我怎样才能获得身份证?是否可以使用内联网聊? This the refresh button that I am trying to implement
答案 0 :(得分:3)
我遇到了同样的问题,因为我想将会话ID传递给我的自定义控制器进行初始身份验证,相应地,将自定义身份验证数据推送到与特定会话ID相关的僵尸框架的会话堆栈。
我的狩猎让我在Github发帖this:
在 inmarktech 的第3篇文章中,他提到了以下代码:
var params = BotChat.queryParams(location.search);
var my_token = params['my_token'];
var botConnection = new BotChat.DirectLine({
secret: 'DIRECTLINE_SECRET'
});
BotChat.App({
botConnection: botConnection
,user: { id: 'USER_ID', name: 'User' } // user.id auto updates after first user message
}, document.getElementById("bot"));
botConnection.connectionStatus$.subscribe(function (status) {
if (status == 2) { // wait for connection is 'OnLine' to send data to bot
var convID = botConnection.conversationId;
botConnection.postActivity({
from: { id: convID } // because first time user ID == conversation ID
,type: 'event'
,name: 'registerUserData' // event name as we need
,value: my_token // data attached to event
}).subscribe(function (activityId) {
// This subscription is a MUST
// If I remove this handler the postActivity not reaches the bot
});
}
});
您可以看到他正在订阅 botConnection.connectionStatus $ ,当状态属性等于2(在线)时,您可以获取对话ID来自botConnection对象。
希望有所帮助:)