C# 如何在Bot框架中从数据库中获取Bot活动消息?
我正在从事一个小型项目,在Bot框架上进行自我开发。我需要一些帮助。我希望从数据库中获取Bot会话(只有Bot而不是用户)。我知道如何使用静态文本发送活动并获得用户响应,正如我在下面所做的那样 我有以下代码:C# 如何在Bot框架中从数据库中获取Bot活动消息?,c#,sql,botframework,C#,Sql,Botframework,我正在从事一个小型项目,在Bot框架上进行自我开发。我需要一些帮助。我希望从数据库中获取Bot会话(只有Bot而不是用户)。我知道如何使用静态文本发送活动并获得用户响应,正如我在下面所做的那样 我有以下代码: private static async Task<DialogTurnResult> NameConfirmStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
private static async Task<DialogTurnResult> NameConfirmStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
var promptOptions = new PromptOptions
{
Prompt = MessageFactory.Text($"Hello ! My name is XYZ and I am the Manager of ABC Dept.")
};
return await stepContext.PromptAsync(nameof(TextPrompt), promptOptions, cancellationToken);
}
private static async Task<DialogTurnResult> NameStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
stepContext.Values["intro"] = ((FoundChoice)stepContext.Result);
return await stepContext.PromptAsync(nameof(TextPrompt), new PromptOptions { Prompt = MessageFactory.Text("What is your name?") }, cancellationToken);
}
private静态异步任务名称confirmStepAsync(WaterAllStepContext stepContext,CancellationToken CancellationToken)
{
var prompoptions=新的prompoptions
{
Prompt=MessageFactory.Text($“你好!我叫XYZ,是ABC部门的经理”)
};
返回wait wait stepContext.PromptAsync(名称(TextPrompt)、提示、取消令牌);
}
专用静态异步任务名称StepAsync(WaterCallStepContext stepContext,CancellationToken CancellationToken)
{
stepContext.Values[“intro”]=((FoundChoice)stepContext.Result);
return wait-stepContext.PromptAsync(nameof(TextPrompt),newpromptoptions{Prompt=MessageFactory.Text(“您的名字是什么?”)},cancellationToken);
}
以上代码用于一旦用户说了什么,Bot的活动
然而,我想知道是否有一种方法可以从数据库中读取Bot Turn活动
例如:
机器人:你好
我:你好
机器人:你叫什么名字
Me:XYZ
所以我想要的是机器人的活动文本,比如你好,你叫什么名字?应该来自数据库(最好是SQL)。这可能吗
我正在使用Bot Framework v4.0 Emulator进行本地测试。首先要了解的是,Bot只是web应用程序。如何从数据库将数据导入bot的问题只是如何从数据库读取数据的问题,而与bot无关。您的问题根本无法回答,因为您尚未选择特定的数据库管理系统。如果您的数据位于bot可以访问的数据库中(比如使用restapi),那么答案是肯定的 在Cosmos DB等数据库中存储数据是Bot框架中已经内置的一项功能,但这与Bot状态有关,Bot状态是帮助Bot跟踪特定用户和对话的数据。听起来您需要的是定义bot的静态数据,而不是特定于任何特定用户或会话的数据。C#应用程序在资源文件中存储字符串是很常见的,而Bot框架有一个您可能感兴趣的即将推出的功能,但是如果您真的想从数据库中提取字符串,请继续。由于您甚至还没有决定要使用什么DBMS,所以您需要弄清楚如何做到这一点,但我可以告诉您,无论如何,您这样做的方式都不是特定于bot的
关于Bot框架方面的问题,请查看以了解更多信息。我的回答可以接受吗?