2016-10-17 62 views
0

我嘗試了Bot框架示例(夾心示例),我想檢查是否有一種方法可以捕獲完成的對話聊天。如何捕獲聊天中發生的所有對話 - 使用Bot框架

例子:

我試圖捕捉到雙方之間的完整對話對「OnCompletionAsyncDelegate」事件。 有沒有其他方法來捕捉所有的對話?

謝謝。

+0

這意味着什麼,以捕獲所有的談話? –

+0

@EzequielJadib我認爲他正在尋找建立用戶發送的所有消息的完整跟蹤,以及機器人的反應。 因此,分析對話流程並對其進行分析以瞭解用戶如何使用機器人以及機器人的行爲如何也許會很有用。 我現在正在看同樣的事情,我希望將這個集中在bot構建器中的一個地方,或者找到一種方法來攔截管道請求並記錄發送和接收的消息。 –

回答

0

如果您使用LUIS,一種解決方案是創建自己的Dialog類,該類擴展LuisDialog,覆蓋MessageReceived以轉錄傳入消息的文本,並讓其他Dialog擴展此新類而不是LuisDialog。

如果你不使用LUIS,那麼你的新類可以在你自己實現的IDialog的MessageReceived中實現這個邏輯。

轉錄邏輯需要將此文本記錄到某處,可能是表格存儲或發電機數據庫。

這有幫助嗎?

0

我有一個教程,顯示如何捕捉談話到數據庫: Implementing A SQL Server Database With The Microsoft Bot Framework

的捕捉談話代碼的關鍵部分是:

// ************************* 
// Log to Database 
// ************************* 
// Instantiate the BotData dbContext 
Models.BotDataEntities DB = new Models.BotDataEntities(); 
// Create a new UserLog object 
Models.UserLog NewUserLog = new Models.UserLog(); 
// Set the properties on the UserLog object 
NewUserLog.Channel = activity.ChannelId; 
NewUserLog.UserID = activity.From.Id; 
NewUserLog.UserName = activity.From.Name; 
NewUserLog.created = DateTime.UtcNow; 
NewUserLog.Message = activity.Text.Truncate(500); 
// Add the UserLog object to UserLogs 
DB.UserLogs.Add(NewUserLog); 
// Save the changes to the database 
DB.SaveChanges(); 
+0

你有這個node.js版本 – PirateApp

相關問題