Skip to content

Latest commit

 

History

History
68 lines (44 loc) · 3.6 KB

File metadata and controls

68 lines (44 loc) · 3.6 KB

Prompt users for input

Bot Framework v4 Prompt Users for Input bot sample

This bot has been created using Bot Framework. The bot maintains conversation state to track and direct the conversation and ask the user questions. The bot maintains user state to track the user's answers.

This sample is a Spring Boot app and uses the Azure CLI and azure-webapp Maven plugin to deploy to Azure.

Prerequisites

  • Java 1.8+
  • Install Maven
  • An account on Azure if you want to deploy to Azure.

Testing the bot using Bot Framework Emulator

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 latest Bot Framework Emulator from here

Connect to the bot using Bot Framework Emulator

  • Launch Bot Framework Emulator
  • File -> Open Bot
  • Enter a Bot URL of http://localhost:3978/api/messages

To try this sample

  • From the root of this project folder:

    • Build the sample using mvn package
    • Run it by using java -jar .\target\bot-promptusersforinput-sample.jar
  • Test the bot using Bot Framework Emulator

    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 version 4.3.0 or greater from here

    • Connect to the bot using Bot Framework Emulator

      • Launch Bot Framework Emulator
      • File -> Open Bot
      • Enter a Bot URL of http://localhost:3978/api/messages

Interacting with the bot

A bot is inherently stateless. Once your bot is deployed, it may not run in the same process or on the same machine from one turn to the next. However, your bot may need to track the context of a conversation, so that it can manage its behavior and remember answers to previous questions.

In this example, the bot's state is used to a track number of messages.

  • We use the bot's turn handler and user and conversation state properties to manage the flow of the conversation and the collection of input.
  • We ask the user a series of questions; parse, validate, and normalize their answers; and then save their input.

This sample is intended to be run and tested locally and is not designed to be deployed to Azure.

Further reading