Принимая простой пользовательский ввод внутри метода в Bot Framework

Есть ли простой способ передать сообщение пользователя в Microsoft Bot Framework в строковую переменную (C#)?

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

Я хочу избежать процесса использования PromptDialog, изменения метода включения в соответствии с параметрами PromptDialog (поскольку мой метод будет иметь LuisResult, а не IAwaitable...) и т. Д.

То, что я хочу, - это эквивалент ввода пользовательских данных через консоль, но в этом случае я буду делать это через интерфейс фреймворка бота - без выхода или изменения метода, в котором я сейчас нахожусь. Ничего особенного не требуется, например, повторные попытки и т. Д.

РЕДАКТИРОВАТЬ: я не хочу / не нужно, чтобы сообщение проходило через LUIS (MessageReceived также помещает каждое сообщение через LUIS)

Спасибо!

1 ответ

Решение

В настоящее время нет способа сделать это. Боты должны быть без состояний, все состояние бота должно быть явно сохранено в IBotDataBag, То, что вы надеетесь сделать, по сути создаст анонимный метод, который ссылается на локальные переменные. Полученное закрытие не сериализуемо.

Другие вопросы по тегам