C# 使用IDialog处理各种消息
假设您有一个C# 使用IDialog处理各种消息,c#,botframework,C#,Botframework,假设您有一个ContactUsDialog,PizzaOrderDialog以及一个MyOrderDialog。用户发送一条消息,如:“我的比萨饼订单已经完成了多长时间”-您如何知道要启动哪个对话框 public async Task<HttpResponseMessage> Post([FromBody] Activity activity) { if (activity != null) { switch (
ContactUsDialog
,PizzaOrderDialog
以及一个MyOrderDialog
。用户发送一条消息,如:“我的比萨饼订单已经完成了多长时间”-您如何知道要启动哪个对话框
public async Task<HttpResponseMessage> Post([FromBody] Activity activity)
{
if (activity != null)
{
switch (activity.GetActivityType())
{
case ActivityTypes.Message:
await Conversation.SendAsync(activity, () => new ContactUsDialg());
await Conversation.SendAsync(activity, () => new PizzaOrderDialog());
await Conversation.SendAsync(activity, () => new MyOrderDialog());
break;
}
return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
}
公共异步任务发布([FromBody]活动)
{
if(活动!=null)
{
开关(activity.GetActivityType())
{
案例活动类型。消息:
wait Conversation.sendaync(活动,()=>newcontactusdialg());
等待对话。SendAsync(活动,()=>new PizzaOrderDialog());
wait Conversation.sendaync(活动,()=>new MyOrderDialog());
打破
}
返回新的HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
}
您不能以您尝试的方式执行此操作。您需要决定哪一个将成为根对话框,并将消息重新路由到其他对话框
以下几个示例可能对您有所帮助:
- :了解如何调用/转发消息到子对话框
- :了解如何使用LUIS