Принимая простой пользовательский ввод внутри метода в Bot Framework
Есть ли простой способ передать сообщение пользователя в Microsoft Bot Framework в строковую переменную (C#)?
По сути, я хочу принять следующее пользовательское сообщение в качестве ввода на полпути через метод и продолжить выполнение того же метода с сообщением, сохраненным как переменная.
Я хочу избежать процесса использования PromptDialog, изменения метода включения в соответствии с параметрами PromptDialog (поскольку мой метод будет иметь LuisResult, а не IAwaitable...) и т. Д.
То, что я хочу, - это эквивалент ввода пользовательских данных через консоль, но в этом случае я буду делать это через интерфейс фреймворка бота - без выхода или изменения метода, в котором я сейчас нахожусь. Ничего особенного не требуется, например, повторные попытки и т. Д.
РЕДАКТИРОВАТЬ: я не хочу / не нужно, чтобы сообщение проходило через LUIS (MessageReceived также помещает каждое сообщение через LUIS)
Спасибо!
1 ответ
В настоящее время нет способа сделать это. Боты должны быть без состояний, все состояние бота должно быть явно сохранено в IBotDataBag
, То, что вы надеетесь сделать, по сути создаст анонимный метод, который ссылается на локальные переменные. Полученное закрытие не сериализуемо.