我正在开发 azure bot 服务,Bot 工作正常。聊天完成后,我需要将整个聊天对话作为副本发送到电子邮件。如何做到这一点?
问问题
1184 次
1 回答
2
Bot Framework Service 不维护任何成绩单,这是您必须在您的 bot 中自己实现的内容。不过,您很幸运,因为 Bot Builder SDK 提供了一个中间件,名称恰当TranscriptLoggerMiddleware
,可以为您执行此操作,并且可以使用您选择的后备存储进行配置。
盒子中附带的存储实现是AzureBlobTranscriptStore
在对话的整个生命周期中都将附加到 blob 中。但是,如果您想使用另一种存储机制存储成绩单,那么您可以ITranscriptLogger
自己实现(仅一种方法)并将其传递给中间件。
要设置中间件,您将在启动逻辑中执行以下操作:
public void ConfigureServices(IServiceCollection services)
{
// Load the settings from config however you like
var myAzureBlobTranscriptSettings = LoadMySettingsFromConfig();
services.AddBot<MyBot>(options =>
{
// Register the middleware
options.Middleware.Add(
new TranscriptLogger(
new AzureBlobTranscriptStore(
myAzureBlobTranscriptSettings.ConnectionString,
myAzureBlobTranscriptSettings.ContainerName)));
});
}
于 2019-01-18T17:40:08.047 回答