2017-01-10 25 views
1

我們如何提及中的對話botframework webchat而不是隨機生成?我們目前可以提供webchatuseridusername,但不能提及提及的對話idbotframework在網絡聊天中提及對話ID

+0

不太清楚你所說的 「提談話」 ID的意思。你能澄清嗎? – Lars

+1

當我們嵌入網聊時,我們可以傳入userId和userName作爲參數。我想知道是否有任何選項可以在session.message.address中手動設置對話Id,以便我們可以將消息推送到網聊。 –

回答

1

有關該主題的更多信息,請查看指南:Send proactive messages

爲了能夠向用戶發送臨時消息,機器人必須首先從當前對話收集並保存有關該用戶的信息。消息的地址屬性包括機器人稍後需要向用戶發送特定消息的所有信息。機器人收集有關用戶的信息

bot.dialog('/', function(session, args) { 
    var savedAddress = session.message.address; 

    // (Save this information somewhere that it can be accessed later, such as in a database.) 

    var message = 'Hello user, good to meet you! I now know your address and can send you notifications in the future.'; 
    session.send(message); 
}); 

後,就可以隨時發送一個特設積極的信息給用戶。爲此,它只需檢索先前存儲的用戶數據,構造消息併發送。

function sendProactiveMessage(address) { 
    var msg = new builder.Message().address(address); 
    msg.text('Hello, this is a notification'); 
    msg.textLocale('en-US'); 
    bot.send(msg); 
} 
+0

其實問題是關於=> UserA正在WebChat上,然後重新加載頁面。重新加載頁面時,用戶仍然是相同的(Cookie),但Conversation.Id不同。在這種情況下,builder.Message()。地址(地址)不起作用。除了會話ID以外,地址相同。 – Nordes