108 lines
3.3 KiB
Markdown
108 lines
3.3 KiB
Markdown
# 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)
|
|
|
|
<img src="https://pnptelemetry.azurewebsites.net/sp-dev-fx-webparts/samples/react-bot-framework-secure/bot" /> |