在机器人框架中存储用户和机器人响应

Store user as well as bot response in bot framework

我想将从机器人收到的响应以及用户输入的消息存储在 bot framework v4 中。

我已经尝试实施 ITranscriptLogger 并将其添加到服务配置中,这是正确的做法吗?此外,实现 ITranscriptLogger 的 class 永远不会被调用。

我打算按原样保存整个对话,以便以后查看。

任何帮助将不胜感激。

ITranscriptLogger只是其中的一部分。它只不过是一个接口。一旦你构建了一个实现它的记录器,你需要添加 TranscriptLoggerMiddleware.

您的 ITranscriptLogger 应如下所示:

public class MyLogger : ITranscriptLogger
{
    public async Task LogActivityAsync(IActivity activity)
    {
        // Handle logging the activity...to a file or cloud service, etc
    }
}

添加以下内容:

Startup.cs

var logger = new MyLogger();
var transcriptMiddleware = new TranscriptLoggerMiddleware(logger);
services.AddSingleton(transcriptMiddleware);

AdapterWithErrorHandler.cs

public AdapterWithErrorHandler(TranscriptLoggerMiddleware mylogger, ...) {
    [...]
    Use(mylogger);
}