Я скачал, настроил и развернул проект с открытым исходным кодом Microsoft Virtual Assistant от GitHub здесь: https://github.com/Microsoft/AI
Я хочу начать с навыка календаря и настроить все.Когда я запрашиваю текущие записи календаря, в эмуляторе botframework отображается запрос на аутентификацию, и я могу аутентифицироваться с моей учетной записью Azure AD.
После этого наступает тишина ...
В файле SummaryDialog.cs в CalendarSkill есть определение WaterfallStep, например:
var showSummary = new WaterfallStep[]
{
GetAuthToken,
AfterGetAuthToken,
ShowEventsSummary,
CallReadEventDialog,
AskForShowOverview,
AfterAskForShowOverview
};
Шаг GetAuthToken выполняется, но затем выполнение останавливается.AfterGetAuthToken вообще не вызывается.
Это функция GetAuthToken внутри проекта:
protected async Task<DialogTurnResult> GetAuthToken(WaterfallStepContext sc, CancellationToken cancellationToken)
{
try
{
var skillOptions = (CalendarSkillDialogOptions)sc.Options;
// If in Skill mode we ask the calling Bot for the token
if (skillOptions != null && skillOptions.SkillMode)
{
// We trigger a Token Request from the Parent Bot by sending a "TokenRequest" event back and then waiting for a "TokenResponse"
// TODO Error handling - if we get a new activity that isn't an event
var response = sc.Context.Activity.CreateReply();
response.Type = ActivityTypes.Event;
response.Name = "tokens/request";
// Send the tokens/request Event
await sc.Context.SendActivityAsync(response);
// Wait for the tokens/response event
return await sc.PromptAsync(SkillModeAuth, new PromptOptions());
}
else
{
return await sc.PromptAsync(nameof(MultiProviderAuthDialog), new PromptOptions());
}
}
catch (SkillException ex)
{
await HandleDialogExceptions(sc, ex);
return new DialogTurnResult(DialogTurnStatus.Cancelled, CommonUtil.DialogTurnResultCancelAllDialogs);
}
catch (Exception ex)
{
await HandleDialogExceptions(sc, ex);
return new DialogTurnResult(DialogTurnStatus.Cancelled, CommonUtil.DialogTurnResultCancelAllDialogs);
}
}
Я что-то не так делаю в коде или в моей конфигурации что-то отсутствует?