是否有可能創建一個插件,可以在botframework中同時訪問意圖和消息?我特別感興趣的是創建一個插件,可以發送收到的消息以及已註冊並用於外部分析的意圖。MS Botframework - 訪問意圖和消息
回答
是的,您可以通過自定義中間件intercept and log messages。
以下代碼示例顯示如何使用Bot Builder SDK for .NET中的中間件概念攔截在用戶和bot之間交換的消息。
首先,創建一個DebugActivityLogger類並定義一個LogAsync方法來指定爲每個截取的消息採取的操作。這個例子只是輸出關於每條消息的一些信息。
public class DebugActivityLogger : IActivityLogger
{
public async Task LogAsync(IActivity activity)
{
Debug.WriteLine($"From:{activity.From.Id} - To:{activity.Recipient.Id} - Message:{activity.AsMessageActivity()?.Text}");
}
}
然後,將以下代碼添加到Global.asax.cs中。每個用戶和bot之間交換的消息(無論是哪個方向)現在都會觸發DebugActivityLogger類中的LogAsync方法。
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
var builder = new ContainerBuilder();
builder.RegisterType<DebugActivityLogger>().AsImplementedInterfaces().InstancePerDependency();
builder.Update(Conversation.Container);
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
對於一個完整的中間件代碼示例,請參見:https://github.com/Microsoft/BotBuilder-Samples/tree/master/CSharp/core-Middleware
謝謝,我是否會誤解這隻作爲信息? – jimmiebtlr
會是「activity.AsMessageActivity()?.類型」或其他? – jimmiebtlr
這是爲了攔截Bot框架消息。 「意圖」是否意味着LUIS意圖? – nilsw
- 1. BotFramework:可以結合LUIS意圖和正常意圖嗎?
- 2. Android:消息意圖
- 3. Botframework Directline消息不會達到BOT
- 4. 訪問Facebook消息
- 5. 訪問確認消息
- 6. Microsoft Botframework將圖像字節編碼到消息卡中
- 7. NServiceBus和Ninject - 訪問NSB消息屬性
- 8. 如何從意圖發送BotFramework郵件
- 9. MS訪問SQL視圖
- 10. BotFramework在Form Flow中訪問userData
- 11. 訪問的驗證消息
- 12. 訪問消息框按鈕
- 13. 訪問錯誤消息
- 14. 消息「無法訪問的入口點」是什麼意思?
- 15. Twitter.framework圖片和消息問題
- 16. Nearby.Messages.handleIntent(的PendingIntent意圖,消息監聽消息監聽)未找到
- 17. MS BotFramework登錄重定向在Messenger Webview中失敗
- 18. MS訪問和ODBC鏈接表和VBA
- 19. NullPointerException訪問意圖捆綁
- 20. Facebook沒有從意圖獲得消息
- 21. 消息傳遞任意對象圖?
- 22. 吐司消息不服務意圖
- 23. 使用意圖打開創建消息
- 24. 檢索GCM消息意圖的「內容」。
- 25. MicrosoftGraph的列表消息API返回訪問被拒絕消息
- 26. 關閉消息選項卡/窗口時訪問Thunderbird消息
- 27. Microsoft BotFramework:如何將原始JSON消息發送到頻道?
- 28. 在Microsoft botframework中回覆「正在輸入」消息
- 29. Botframework循環用戶第一個機器人等待消息
- 30. BotFramework,未收到對第一條消息的回覆
您在使用.NET或節點的SDK BotBuilder? – nilsw
我對這兩種功能都感興趣,但我認爲.NET很難做到這一點? – jimmiebtlr