ボットフレームワークでインテントとメッセージの両方に同時にアクセスできるプラグインを作成することはできますか?私は、受け取ったメッセージだけでなく、外部のアナリティクスに登録されて使用された意図を送信できるプラグインを作成することに特に関心を持っています。MS Botframework - インテントとメッセージへのアクセス
答えて
はい、カスタムミドルウェアでintercept and log messagesとすることができます。
次のコードサンプルは、.NET用のBot Builder SDKのミドルウェアの概念を使用して、ユーザーとボットの間で交換されるメッセージをインターセプトする方法を示しています。
まず、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に次のコードを追加します。ユーザーとボットの間で(どちらの方向でも)交換されるすべてのメッセージは、DebugAsctivityLoggerクラスの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()?Type"なのでしょうか? – jimmiebtlr
これは、Bot Frameworkメッセージをインターセプトするためのものです。 「意図」とは、LUISの意図を意味しますか? – nilsw
- 1. BotFrameworkメッセージを読む
- 2. MS BotFrameworkデータ保存、BotState
- 3. BotFrameworkのボットからユーザへのメッセージの開始
- 4. BotFramework、最初のメッセージへの応答を受信しない
- 5. Node.jsのMS BotFrameworkはすべてのメッセージに対して "default_error"を返します
- 6. MS話す/話さないためのMS BotFrameworkロジック
- 7. Hibernate Validatorメッセージへのアクセス
- 8. ms-botframeworkとazureデータベースを接続する方法
- 9. MS Accessアプリケーションの生コードへのアクセス
- 10. C#.NETのSQL SeverへのMSアクセス
- 11. CrystalレポートのMSアクセスへのエクスポート
- 12. PostgreSQLサーバへのMSアクセスの接続
- 13. アンドロイドとmsアクセス
- 14. MS BotFrameworkを使用したFacebook Messengerボットのリンクプレビュー
- 15. MS BotFrameworkサインインリダイレクトがMessenger Webviewで失敗する
- 16. MS Graph API - アプリケーションのアクセス許可を持つ "ポリシー"エンドポイントへのアクセス
- 17. MS-Access:アクセスからアクセスへのデータベースのインポート
- 18. インデックスステートメントコード| MS-アクセスとvb.net
- 19. MQTT非同期メッセージへのアクセス
- 20. MS BotFramework:ユーザーの資格情報を収集する
- 21. パフォーマンスの実行方法MS Botframeworkによるテスト
- 22. データベースとしてのMSアクセス
- 23. BotFrameworkフォームフロー内でuserDataにアクセスする
- 24. Scala Play 2.5フォームの規約と暗黙のメッセージ(MessagesApi)へのアクセス
- 25. Botframeworkバージョン3
- 26. MS-アクセスC#の
- 27. MSアクセスのクエリ
- 28. BotFramework各ダイアログに割り当てられたLUISインテントがあるステップバイステップの質問
- 29. botframework 401 Unauthorized
- 30. アクティビティ/インテントへの進行ダイアログ
あなたはBotBuilderのために、.NETまたはノードSDKを使用していますか? – nilsw
私は両方の機能に興味があると思いますが、.NETはそれをやるのが難しいと思いますか? – jimmiebtlr