/smartthings-url-bot

Slack bot integrating with SmartThings API platform

Primary LanguageJavaScriptMIT LicenseMIT

url-bot

SmartThings office helper

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

  • Use LUIS to implement core AI capabilities
  • Implement a multi-turn conversation using Dialogs
  • Handle user interruptions for such things as Help or Cancel
  • Prompt for and validate requests for information from the user

Prerequisites

This sample requires prerequisites in order to run.

Overview

This bot uses LUIS, an AI based cognitive service, to implement language understanding.

  • Node.js version 10.14.1 or higher

    # determine node version
    node --version

Create a LUIS Application to enable language understanding

The LUIS model for this example can be found under cognitiveModels/FlightBooking.json and the LUIS language model setup, training, and application configuration steps can be found here.

Once you created the LUIS model, update .env with your LuisAppId, LuisAPIKey and LuisAPIHostName.

LuisAppId="Your LUIS App Id"
LuisAPIKey="Your LUIS Subscription key here"
LuisAPIHostName="Your LUIS App region here (i.e: westus.api.cognitive.microsoft.com)"

To run the bot

  • Install modules

    npm install
  • Setup LUIS

The prerequisite outlined above contain the steps necessary to provision a language understanding model on www.luis.ai. Refer to Create a LUIS Application to enable language understanding above for directions to setup and configure LUIS.

  • Start the bot

    npm start

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