# Echo bot ## Summary This bot has been created using [Bot Framework](https://dev.botframework.com). It shows how to create a simple bot that accepts input from the user and echoes it back. ## Prerequisites - [Node.js](https://nodejs.org) version 10.14.1 or higher ```bash # determine node version node --version ``` ## To try this sample locally - Clone the repository ```bash git clone [Placeholder] ``` - In a console, navigate to [Placeholder] ```bash cd [Placeholder] ``` - Install modules ```bash npm install ``` - Start the bot ```bash npm start ``` ## Testing the bot using Bot Framework Emulator [Bot Framework Emulator](https://github.com/microsoft/botframework-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](https://github.com/Microsoft/BotFramework-Emulator/releases) ### 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` ## (Opt.) Deploy the bot to Azure To learn more about deploying a bot to Azure, see [Deploy your bot to Azure](https://aka.ms/azuredeployment) for a complete list of deployment instructions. ## (Opt.) Testing Direct Line token generation - [Connect to Direct Line](https://learn.microsoft.com/azure/bot-service/bot-service-channel-connect-directline?view=azure-bot-service-4.0) - Add `DirectLineSecret` to `.env` ```bash DirectLineSecret=YOUR_DIRECT_LINE_SECRET ``` - Start the bot ```bash npm start ``` - Open [PostMan](https://www.postman.com/) and setup a post request to http://localhost:3978/directline/token with the following json request body: ```json { "user": "USER_ID" } ``` Then you can see the Direct Line token generated with `YOUR_DIRECT_LINE_SECRET` and `USER_ID`: ```json { "conversationId": "XXXXX", "token": "XXXXX", "expires_in": 3600 } ``` ## Further reading - [Bot Framework Documentation](https://docs.botframework.com) - [Bot Basics](https://docs.microsoft.com/azure/bot-service/bot-builder-basics?view=azure-bot-service-4.0) - [Activity processing](https://learn.microsoft.com/azure/bot-service/bot-builder-concept-activity-processing?view=azure-bot-service-4.0) - [Azure Bot Service Introduction](https://docs.microsoft.com/azure/bot-service/bot-service-overview-introduction?view=azure-bot-service-4.0) - [Azure Bot Service Documentation](https://docs.microsoft.com/azure/bot-service/?view=azure-bot-service-4.0) - [Azure CLI](https://docs.microsoft.com/cli/azure/?view=azure-cli-latest) - [Azure Portal](https://portal.azure.com) - [Language Understanding using LUIS](https://learn.microsoft.com/azure/cognitive-services/luis/) - [Channels and Bot Connector Service](https://learn.microsoft.com/azure/bot-service/bot-concepts?view=azure-bot-service-4.0) - [TypeScript](https://www.typescriptlang.org) - [Restify](https://www.npmjs.com/package/restify) - [dotenv](https://www.npmjs.com/package/dotenv)