Skip to main content

Microsoft Bot Builder Community Dialogs Prompts

Project description

Dialog Prompts

This is a (currently experimental) suite of dialog prompts that uses Microsoft's recognizer text suite to recognize certain types of input during a dialog prompt. Microsoft's Bot Framework team has implemented a handful of prompts using recognizers from the recognizer text suite. This library is meant to fill the gaps.


You can install this library via PIP:

pip install botbuilder-community-dialogs-prompts

You can then import required types, for example:

    from import NumberWithUnitPrompt, NumberWithUnitPromptType

Number with Unit

The number with unit prompt allows you to prompt for four different unit types:

  • Currency
  • Temperature
  • Age
  • Dimension (eg. miles / meters)
dialogs.add(new NumberWithUnitPrompt('numberPrompt', NumberWithUnitPromptType.Currency);

Then, you can call the bot by specifying your PromptOptions and calling PromptAsync.

options = PromptOptions(
                    prompt = Activity(
                        type = ActivityTypes.message, 
                        text = "Enter the curreny info"
        await step_context.prompt("numberprompt",options)

The prompt will return a NumberWithUnitResult.The object contains a value and unit type. For example, if a user enters "twenty three dollars" when you are using the Currency prompt type, the resulting NumberWithUnitResult object will have Unit: "Dollar", Value: "23". Below is an example of how you might use this result.

result = f"currency : {turn_context.result.value} and unit : {turn_context.result.unit}"
await turn_context.send_activity(result)

Number with Type

Number with type allows you to accept numbers from the follow type enum:

  • Ordinal
  • Percentage
dialogs.add(new NumberWithTypePrompt('numberPrompt', NumberWithTypePromptType.Ordinal);

The prompt will a return a result based on the NumberWithTypePromptType type. For example , If user enters “eleventh” Ordinal type return the result as 11. Below is an example of how you might use this result.

result = step_context.result
await turn_context.send_activity(result)

Phone Number

The PhoneNumberPrompt will extract a phone number from a message from the user.

dialogs.add(new PhoneNumberPrompt('phprompt');


User : My phone number is 1 (877) 609-2233
PhoneNumberPrompt return as 1 (877) 609-2233

Email Address

The EmailPrompt will extract an email address from a message from the user.

dialogs.add(new EmailPrompt('eprompt');


User : My email id is
EmailPrompt return as

Internet Protocols

The InternetProtocolPrompt will extract one of the following types based on which InternetProtocolPromptType enum value is passed in:

  • IPAddress
  • URL


User : My favorite web site is
InternetProtocolPrompt return as


The GUIDPrompt will extract a GUID from a message from the user.

dialogs.add(new GuidPrompt('gprompt');


User : my azure id is "7d7b0205-9411-4a29-89ac-b9cd905886fa"
GUIDPrompt return as "7d7b0205-9411-4a29-89ac-b9cd905886fa"

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for botbuilder-community-dialogs-prompts, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size botbuilder_community_dialogs_prompts-0.1.3-py3-none-any.whl (9.6 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page