This bot has been created using Microsoft Bot Framework,
-
- Use LUIS to implement core AI capabilities
- Implement a multi-turn conversation using Dialogs
- Handle user interruptions for such things as
Help
orCancel
- Prompt for and validate requests for information from the user
- Clone the samples repository
git clone https://github.com/Microsoft/botbuilder-samples.git
- Install the Bot CLI Tools
npm install -g chatdown msbot ludown luis-apis qnamaker botdispatch luisgen
- Setup Azure Powershell (If you have never done so before)
- To login, run:
Connect-AzureRmAccount
- To select your Azure subscription, run:
Select-AzureRmSubscription -Subscription "subscription-name"
-
Collect your Luis Authoring Key from the the LUIS portal by selecting your name in the top right corner. Save this key for the next step.
-
Run the following command from the project directory:
msbot clone services --name "<NAME>" --luisAuthoringKey "<YOUR AUTHORING KEY>" --folder "DeploymentScripts/MsbotClone" --location "westus" --verbose --appId <YOUR APP ID> --appSecret <YOUR APP SECRET PASSWORD>
NOTE: You can obtain your appId
and appSecret
at the Microsoft's Application Registration Portal
NOTE: By default your Luis Applications will be deployed to your free starter endpoint. An Azure LUIS service will be deployed along with your bot but you must manually add and publish to it from the luis.ai portal and update your key in the .bot file.
- Note the generated secret generated by msbot.
- The secret key is used later for
appsettings.json
.
The secret used to decrypt <NAME>.bot is:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
NOTE: This secret is not recoverable and you should store this secret in a secure place according to best security practices.
Your project may be configured to rely on this secret and you should update it as appropriate.
- Inspect Bot configuration file.
- The
msbot clone
command above generates a bot configuration file. - The name of the bot configuration file is .bot, where is the name of your bot used in the
msbot clone
step. - The configuration file can be loaded by the Microsoft Bot Framework Emulator.
- Update in `Startup.cs'.
public void ConfigureServices(IServiceCollection services)
{
...
var botConfig = BotConfiguration.Load(botFilePath ?? @".\basic-bot.bot"..);
...
- Update "YOUR_LUIS_SERVICE_NAME" in `BasicBot.cs'.
public class BasicBot : IBot
{
...
public static readonly string LuisConfiguration = "YOUR_LUIS_SERVICE_NAME";
- Right click on the generated bot configuration file, click "Properties".
- Ensure "Copy to Output Directory" is set to "Copy always".
- Update your
appsettings.json
with your .bot file path and .bot file secret.
- Update the
botFilePath
with the name of your generated bot configuration file. - Update the
botFileSecret
with the secret that the msbot tool generated from step 5 above.
{
"botFilePath": "basic-bot.bot",
"botFileSecret": "<YOUR BOT SECRET>"
}
- Navigate to LUIS portal.
- Click the
Sign in
button. - Click on the
Choose File
and select basic-bot.json from thebotbuilder-samples/csharp_dotnetcore/13.basic-bot/CognitiveModels
folder. - Update basic-bot.bot file with your AppId, SubscriptionKey, Region and Version.
You can find this information under "Manage" tab for your LUIS application at LUIS portal.
- The
AppID
can be found in "Application Information" - The
SubscriptionKey
can be found in "Keys and Endpoints", under theKey 1
column - The
region
can be found in "Keys and Endpoints", under theRegion
column
- The
- Update basic-bot.bot file with your Authoring Key.
You can find this under your user settings at luis.ai. Click on your name in the upper right hand corner of the portal, and click on the "Settings" menu option. NOTE: Once you publish your app on LUIS portal for the first time, it takes some time for the endpoint to become available, about 5 minutes of wait should be sufficient. - Update basic-bot.bot file to ensure the
Id
property on theluis
service type is set tobasic-bot-LUIS
.
- Navigate to the samples folder (
botbuilder-samples/samples/csharp_dotnetcore/13.basic-bot
) and openBasicBot.csproj
in Visual Studio. - Run the project (press
F5
key)
- Install the .NET Core CLI tools.
- Using the command line, navigate to
botbuilder-samples/samples/csharp_dotnetcore/13.basic-bot
folder. - Type
dotnet run
.
Microsoft Bot Framework Emulator is a desktop application that allows bot developers to test and debug their bots on localhost or running remotely through a tunnel.
- Install the Bot Framework Emulator from here.
- Launch the Bot Framework Emulator
- File -> Open bot and navigate to
botbuilder-samples/samples/csharp_dotnetcore/13.basic-bot
folder - Select
basic-bot.bot
file
You can use the MSBot Bot Builder CLI tool to clone and configure any services this sample depends on. In order to install this and other tools, you can read Installing CLI Tools.
To clone this bot, run
msbot clone services -f deploymentScripts/msbotClone -n <BOT-NAME> -l <Azure-location> --subscriptionId <Azure-subscription-id>