在机器人框架中存储用户和机器人响应
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);
}
我想将从机器人收到的响应以及用户输入的消息存储在 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);
}