Skip to content

Latest commit

 

History

History
103 lines (74 loc) · 3.48 KB

File metadata and controls

103 lines (74 loc) · 3.48 KB

Prompt users for input

This bot has been created using Bot Framework, it shows how to:

  • Maintain conversation state to track and direct the conversation and ask the user questions
  • Maintain user state to track the user's answers

Prerequisites

  • Node.js version 10.14.1 or higher.

    # determine node version
    node --version

To try this sample

  • Clone the repository

    git clone https://github.com/microsoft/botbuilder-samples.git
  • In a terminal, navigate to samples/javascript_nodejs/44.prompt-for-user-input

    cd samples/javascript_nodejs/44.prompt-for-user-input
  • Install modules

    npm install
  • Run the sample

    npm start

Bot state

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.

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 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

Deploy the bot to Azure

To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.

Further reading