Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SnowStormIO/botkit-witai
Botkit Middleware for Wit.ai
https://github.com/SnowStormIO/botkit-witai
Last synced: 3 months ago
JSON representation
Botkit Middleware for Wit.ai
- Host: GitHub
- URL: https://github.com/SnowStormIO/botkit-witai
- Owner: SnowStormIO
- Created: 2016-12-12T11:14:42.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-24T15:44:27.000Z (almost 7 years ago)
- Last Synced: 2024-05-22T20:34:35.981Z (6 months ago)
- Language: JavaScript
- Size: 10.7 KB
- Stars: 13
- Watchers: 5
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Botkit Middleware for Wit.ai
[![npm](https://img.shields.io/npm/dt/botkit-witai.svg)]() [![npm](https://img.shields.io/npm/l/botkit-witai.svg?style=flat)]() [![GitHub stars](https://img.shields.io/github/stars/SnowStormIO/botkit-witai.svg?style=social&label=Star)]()Unleash the power of Wit.ai's Natural Language Processing to your Botkit bot with this middleware. All incoming text messages (by default it filters payload derived from Facebook Messenger buttons like *Quick Replies* and *Postbacks*) will go through Wit.ai's API to extract useful *entities* that will be added to the message object so they can be used in the controller.
**This Botkit Middleware is maintained up-to-date with both Wit.ai and Botkit latest versions and it works with all Botkit's supported messaging platforms.**
## Installation
In order to utilize wit.ai's service you will need to create an account at [Wit.ai](https://wit.ai/). Grab the *access token* at Settings as shown below:![Screenshot](https://s30.postimg.org/5o330d21t/Wit_ai_screenshot.png)
Next you will need to add botkit-witai as a dependency to your Botkit bot:
```
npm install --save botkit-witai
```Enable the middleware with the following options:
* `accessToken` - (**required**) Token to use Wit.ai API
* `minConfidence` - (*optional*) Minimum Wit.ai's entities confidence value to be considered. Valid value range is from **0.1** to **1**. **0.5** is the default.
* `logLevel` - (*optional*) Log level for the middleware. Valid values are: **'debug', 'info', 'warning', 'error'**.Example:
```js
var wit = require('botkit-witai')({
accessToken: ,
minConfidence: 0.6,
logLevel: 'debug'
});controller.middleware.receive.use(wit.receive);
```
## Usage
You will receive in the callback of the `controller.hears` the Wit.ai's entities defined in your panel as shown below that match the message received:![Screenshot](https://s24.postimg.org/3xbepffo5/Wit_ai_screenshot_2.png)
Example:
```js
controller.hears(['spa'], 'message_received', wit.hears, function (bot, message) {
console.log("Wit.ai detected entities", message.entities);
//Example message: "I want a spa treatment"
// {
// "spa": [
// {
// "confidence": 1,
// "type": "value",
// "value": "spa"
// }
// ]
// }
//Your code here
});
```
##Roadmap* Wit.ai's conversation actions linked to Botkit's conversation steps.
* Functional testing coverage.##Author
**Rafael Casuso**Github: [@RafaelCasuso](https://github.com/RafaelCasuso)
Twitter: [@Rafael_Casuso](https://twitter.com/rafael_casuso)