首页 > 解决方案 > 虚拟助理技能 - 如何杀死/结束您所在的当前技能机器人

问题描述

我试图实现一个处理目录服务的 msbot 技能,例如一个人的联系电话和电子邮件。我的问题是我无法摆脱技能机器人。我已经尝试了一切,但没有任何效果。

我正在尝试对技能机器人执行以下操作以结束或杀死它,并将对话状态返回给父级:

但不幸的是,我无法返回父机器人,而是不断返回技能机器人,这不是我想要的。我可能做错了,我不确定如何结束技能机器人状态并返回父机器人,因为主要功能在那里。

标签: c#botframework

解决方案


您需要发送一个EndOfConversation活动。看看我们的技能样本是如何 做到的:

protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
    if (turnContext.Activity.Text.Contains("end") || turnContext.Activity.Text.Contains("stop"))
    {
        // Send End of conversation at the end.
        await turnContext.SendActivityAsync(MessageFactory.Text($"ending conversation from the skill..."), cancellationToken);
        var endOfConversation = Activity.CreateEndOfConversationActivity();
        endOfConversation.Code = EndOfConversationCodes.CompletedSuccessfully;
        await turnContext.SendActivityAsync(endOfConversation, cancellationToken);
    }
[...]

推荐阅读