Virtual Assistant Skill - как убить / закончить текущий навык бота, в котором вы находитесь - PullRequest
1 голос
/ 10 февраля 2020

Я пытался реализовать умение msbot, которое обрабатывает службы каталогов, такие как контактный номер и адрес электронной почты человека. Моя проблема в том, что я не могу выбраться из навыков. Я перепробовал все, но ничего не работает.

Я пытаюсь выполнить следующие действия на боте умений, чтобы завершить или убить его и вернуть родительское состояние диалога:

  • EndDialogAsyn c ()
  • CancelAllDialogsAsyn c ()
  • EndComponentAsyn c ()

но, к сожалению, я не могу вернуться к родительскому боту, вместо этого он продолжает возвращаться к навыки бота, и это не то, что я хотел. Возможно, я делаю это неправильно, я не уверен, как завершить состояние бота с навыками и вернуться к родительскому боту, так как основные функции там есть.

1 Ответ

1 голос
/ 11 февраля 2020

Вам необходимо отправить 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);
    }
[...]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...