2017-05-16 64 views
1

我無法找到訪問/編輯用戶數據的方式,以響應node.js中另一臺服務器的請求。如何在Microsoft Bot Framework中提供獲取請求?

我的特殊用例涉及使用服務器發送的值更新特定用戶的某些值。服務器當前有與所有用戶一起存儲的對話地址。

此外,我計劃實施服務GET請求到同一臺服務器提供我能夠訪問數據。

回答

1

要訪問任何對話BotState你需要2條信息。首先你需要channelId,其次你需要conversationId。

我不知道你在哪裏,所以我打算執行這個邏輯想這發生在MessageController和你已經解析了2號的

var channelId = //Parse channel ID => "Skype", "Slack", ... 
var conversationId = //Parse conversationId 

var stateClient = activity.GetStateClient(); //activity is of type Activity. 
var conversationData = stateClient.BotState.GetConversationData(channelId, conversationId); 

//Change data. 
+0

感謝您的回答!有什麼辦法可以讓它與平臺無關嗎?假設每個使用機器人的用戶都擁有一個通用的用戶名,而不管平臺如何,並且我需要在用戶通過Web提示本身更改用戶名時對其進行更改。在一個平臺上改變它,而不是在另一個平臺上改變它是沒有意義的。 –

+0

所有的userId只適用於該平臺。所以如果你想這樣做,你將不得不創建一個數據庫,將用戶名和用戶名相關聯。無法獲取您的stateclient中所有數據存儲的列表。 –

+0

再次感謝。我正在仔細閱讀代碼片段,我想這對.NET會起作用,我正在尋找一個node.js解決方案。 –

相關問題