使用IDialog处理各种消息

时间:2017-11-16 14:29:13

标签: c# botframework

我们假设您有ContactUsDialogPizzaOrderDialog以及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);
    } 

1 个答案:

答案 0 :(得分:2)

你不能以你想要的方式做到这一点。您需要确定哪一个是根对话框,并将消息重新路由到其他对话框。

一些可能对您有所帮助的样本:

是的,您可以将LUIS用作root对话框,然后调用子对话框。一些可能也有帮助的帖子: