我将Cortana频道添加到我的聊天机器人中。但是我无法从Cortana得到适当的答复



我使用对话框创建了一个基于规则的简单机器人。我使用Bot Framework在机器人中添加了Cortana频道。为此,我使用用于注册的个人Outlook帐户登录。我也已经在Azure上发布了我的机器人。但是当我在Cortana中调用机器人的调用名称时,它显示了机器人并已连接。但是问题是,它不会给我我的问题回答。但是我检查了机器人框架模拟器,代码正在工作并给出适当的答复。有人可以解决我的问题吗?

using System;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Connector;
namespace SuperheroesBot.Dialogs
{
    [Serializable]
    public class RootDialog : IDialog<object>
    {
        public Task StartAsync(IDialogContext context)
        {
            context.Wait(MessageReceivedAsync);
            return Task.CompletedTask;
        }

        private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result)
        {
            var activity = await result as Activity;
            string receiveMessage = activity.Text;
            string returnMessage = "Hi How are you";

            if (receiveMessage == "Yes Are you Ready")
            {
                returnMessage = "Yeah am ready";
            }
            else if (receiveMessage=="i am fine")
            {
                returnMessage = "nice you can ask me questions";
            }
            else if (receiveMessage=="what are the houses available now")
            {
                returnMessage = "Blue red green and yellow";
            }
            else if (receiveMessage == "who is going to win")
            {
                returnMessage = "i don't know. can u guess it";
            }
            else if (receiveMessage == "blue")
            {
                returnMessage = "alright.let's see";
            }
            await context.SayAsync(text: returnMessage, speak: returnMessage);

            context.Wait(MessageReceivedAsync);
        }
    }
}

检查设备的区域和语言设置。他们需要将它们设置为美国援引Cortana技能的机器人。请参阅Microsoft Cortana技能常见问题解答

->在sayasync()之后有一个等待语句,请小心等待语句。他们在上下文之后引发错误。如果删除等待语句会有所帮助,请尝试使用。除此之外,不知道可能是什么问题。

最新更新