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.
Installation
You can install this library via PIP:
pip install botbuilder-community-dialogs-prompts
You can then import required types, for example:
from botbuilder.community.dialogs.prompts 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');
Example
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');
Example
User : My email id is r.vinoth@live.com
EmailPrompt return as r.vinoth@live.com
Internet Protocols
The InternetProtocolPrompt
will extract one of the following types based on which InternetProtocolPromptType enum value is passed in:
- IPAddress
- URL
dialogs.add(InternetProtocolPrompt("urlprompt",InternetProtocolPromptType.URL))
Example
User : My favorite web site is http://rvinothrajendran.github.io/
InternetProtocolPrompt return as http://rvinothrajendran.github.io/
GUID
The GUIDPrompt
will extract a GUID from a message from the user.
dialogs.add(new GuidPrompt('gprompt');
Example
User : my azure id is "7d7b0205-9411-4a29-89ac-b9cd905886fa"
GUIDPrompt return as "7d7b0205-9411-4a29-89ac-b9cd905886fa"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file botbuilder_community_dialogs_prompts-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: botbuilder_community_dialogs_prompts-0.1.3-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7cc1d828f3e3102efb158c018b8d34e31f97c118ea9a7589bb66f5b13d1ded5 |
|
MD5 | 4bb0e92c7e7dd911ed5354632cffb136 |
|
BLAKE2b-256 | 821c272f5bdc7fc27b996bc2e18e1582b615fc98390a1157c532c0606ef93882 |