C# 具有多个用户的Microsoft Bot Framework对话框
我正在使用Microsoft Bot Framework for.NET创建一个简单的问答机器人,作为ASP.NET MVC WebApi,用C#编写,主要用于多用户的空闲频道 我已经创建了一个对话框,我根据框架文档从消息控制器启动该对话框:C# 具有多个用户的Microsoft Bot Framework对话框,c#,.net,botframework,C#,.net,Botframework,我正在使用Microsoft Bot Framework for.NET创建一个简单的问答机器人,作为ASP.NET MVC WebApi,用C#编写,主要用于多用户的空闲频道 我已经创建了一个对话框,我根据框架文档从消息控制器启动该对话框: await Conversation.SendAsync(activity, () => new QuestionDialog()); lambda表达式向Bot框架指示用于对话框的构造函数。QuestionDialog实现IDialog。启动对话
await Conversation.SendAsync(activity, () => new QuestionDialog());
lambda表达式向Bot框架指示用于对话框的构造函数。QuestionDialog实现IDialog。启动对话后,对话类被序列化并存储在Bot连接器云中,保存当前问题和预期答案,然后在当前对话中收到新消息时反序列化
我希望任何用户都能够回答机器人提出的随机问题,无论是哪个用户发起了对话,但似乎为每个与机器人交互的用户创建了一个新的问题对话框,因此只有发起问题的用户才能回答
有没有办法创建一个只与对话/频道绑定的对话框,而不是对话/频道和用户的组合?以这种方式尝试使用对话框有意义吗?我想实现这一点的方法是:
此外,对于此解决方案,您根本不必使用对话框-您可以在MessagesController中执行所有需要执行的操作。我想实现此功能的方法是:
此外,对于此解决方案,您根本不必使用对话框-您可以在MessagesController中执行所有需要执行的操作。您可以使用update\u id更新发送给用户的每条消息。您是否尝试过?我的意思是,如果有人回答问题,请使用他们存储的更新id为每个用户更新发送的问题消息。您能给出一个您想要实现的组对话的脚本示例吗?@SergeyL只是想澄清一下,我是用C写的。。。我为这个问题添加了更多细节。在以用户身份进行的群聊中,您可以看到机器人提出的最后一个问题。您可以决定回答或键入与此无关的内容,例如笑话。机器人无法识别它。至于Slack,据我记忆所及,您可以在组中的每条消息上获得通知(对于其他平台来说不是这样),因此您可以在一些限制条件下实现您想要的功能。询问问题时,将有关问题的信息存储在对话数据存储中。然后所有的下一个消息(来自组),你可以认为是问题的答案。您可能会从用户那里得到问题的多个答案。您可以使用update_id更新发送给用户的每条消息。您是否尝试过这样做?我的意思是,如果有人回答问题,请使用他们存储的更新id为每个用户更新发送的问题消息。您能给出一个您想要实现的组对话的脚本示例吗?@SergeyL只是想澄清一下,我是用C写的。。。我为这个问题添加了更多细节。在以用户身份进行的群聊中,您可以看到机器人提出的最后一个问题。您可以决定回答或键入与此无关的内容,例如笑话。机器人无法识别它。至于Slack,据我记忆所及,您可以在组中的每条消息上获得通知(对于其他平台来说不是这样),因此您可以在一些限制条件下实现您想要的功能。询问问题时,将有关问题的信息存储在对话数据存储中。然后所有的下一个消息(来自组),你可以认为是问题的答案。您可能会从用户那里得到该问题的多个答案。