Prompt<T> Class


Defines the core behavior of prompt dialogs.

public abstract class Prompt<T> : Microsoft.Bot.Builder.Dialogs.Dialog
type Prompt<'T> = class
    inherit Dialog
Public MustInherit Class Prompt(Of T)
Inherits Dialog

Type Parameters


The type of value the prompt returns.



When the prompt ends, it should return a T object that represents the value that was prompted for. Use Add(Dialog) or AddDialog(Dialog) to add a prompt to a dialog set or component dialog, respectively. Use PromptAsync(String, PromptOptions, CancellationToken) or BeginDialogAsync(String, Object, CancellationToken) to start the prompt. If you start a prompt from a WaterfallStep in a WaterfallDialog, then the prompt result will be available in the next step of the waterfall.


Prompt<T>(String, PromptValidator<T>)

Initializes a new instance of the Prompt<T> class. Called from constructors in derived classes to initialize the Prompt<T> class.



Gets or sets id for the dialog.

(Inherited from Dialog)

Gets the information of the cref="SourceRange"/>.

(Inherited from Dialog)

Gets or sets the IBotTelemetryClient to use for logging.

(Inherited from Dialog)


AppendChoices(IMessageActivity, String, IList<Choice>, ListStyle, ChoiceFactoryOptions, CancellationToken)

When overridden in a derived class, appends choices to the activity when the user is prompted for input.

BeginDialogAsync(DialogContext, Object, CancellationToken)

Called when a prompt dialog is pushed onto the dialog stack and is being activated.

ContinueDialogAsync(DialogContext, CancellationToken)

Called when a prompt dialog is the active dialog and the user replied with a new activity.

EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken)

Called when the dialog is ending.

(Inherited from Dialog)

Gets a unique string which represents the version of this dialog. If the version changes between turns the dialog system will emit a DialogChanged event.

(Inherited from Dialog)

Computes an unique ID for a dialog.

(Inherited from Dialog)
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken)

Called when an event has been raised, using DialogContext.emitEvent(), by either the current dialog or a dialog that the current dialog started.

(Inherited from Dialog)
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Called after an event was bubbled to all parents and wasn't handled.

(Inherited from Dialog)
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Called before an event is bubbled to its parent.

OnPromptAsync(ITurnContext, IDictionary<String,Object>, PromptOptions, Boolean, CancellationToken)

When overridden in a derived class, prompts the user for input.

OnRecognizeAsync(ITurnContext, IDictionary<String,Object>, PromptOptions, CancellationToken)

When overridden in a derived class, attempts to recognize the user's input.

RegisterSourceLocation(String, Int32)

Registers a cref="SourceRange"/> in the provided location.

(Inherited from Dialog)
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken)

Called when a prompt dialog has been requested to re-prompt the user for input.

ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken)

Called when a prompt dialog resumes being the active dialog on the dialog stack, such as when the previous active dialog on the stack completes.

Extension Methods

RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken)

Creates a dialog stack and starts a dialog, pushing it onto the stack.

Applies to