Reputation: 4755
In my Bot Framework project, I'm using a PromptDialog to show a predefined set of valid options, with the below code:
var pickListOptions = new List<Option>();
pickListOptions.AddRange(
_currentQuestion.validValues.Select(x => Option.CreateOption(x)));
PromptDialog.Choice(context, choiceSelected,
pickListOptions,
_currentQuestion.label,
"Sorry, I didn't get that", 3, PromptStyle.Keyboard);
When a free-form answer is typed in which is not in the list of valid values is entered, the "Sorry, I didn't get that" message is automatically displayed and the question is reprompted. However, I want to potentially handle certain invalid answers with a different dialog (i.e. if the user is asking for help). Is there any way to override the automatic reprompt with custom logic?
Upvotes: 0
Views: 420
Reputation: 14787
There are likely two valid answers for this question:
PromptChoice
and override the TryParse
or the MessageReceivedAsync
methods. For example, the CancelablePromptChoiceScorables
. Take a look to the GlobalMessagesHandlers sample to understand more.Upvotes: 4