Я только что нашел, в чем проблема.Я решил это следующим образом:
- Создание набора диалогов в классе, где я обрабатываю проактивный триггер.Для этого я добавляю средство доступа DialogState
- Добавлен только тот диалог, который мне нужен для запуска, я предполагаю, что он должен совпадать с тем, который есть в диалоге Bots.Мне нужно реорганизовать это так, чтобы я получил диалог из одного и того же места и в этом классе, и в боте, чтобы у меня не было дублированного кода.
- Получите контекст dialogSet и начните диалог.
- Очень важно .... Сохраните изменения DialogState, если ответ не будет обработан неправильно.
var _dialogSet = new DialogSet (accessors.DialogStateAccessor);
_dialogSet.Add(new CrazyDialog("CrazyDialog"));
DialogContext dc = await _dialogSet.CreateContextAsync(turnContext, cancellationToken);
await dc.BeginDialogAsync("CrazyDialog", cancellationToken);
await accessors.ConversationState.SaveChangesAsync(turnContext, false, cancellationToken);