Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

botbuilder-wit

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

botbuilder-wit

Provides Wit.ai NLP integration for the Microsoft Bot Builder SDK. Supports caching with Redis and Memcached.

  • 2.0.10
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

botbuilder-wit

npm version Build Status codecov

Node.js module that provides Wit.ai NLP integration for the Microsoft Bot Builder SDK, with built-in support for caching with Redis and Memcached.

Installation

npm install --save botbuilder-wit

General Usage

// v2.x.x now uses a named export for the WitRecognizer class instead of module.exports
const { WitRecognizer } = require('botbuilder-wit');
const { IntentDialog } = require('botbuilder');
const recognizer = new WitRecognizer('Wit.ai_access_token');
const intents = new IntentDialog({recognizers: [recognizer]});

intents.matches('intent.name', (session, args) => {...});
intents.onDefault(session => {...});

bot.dialog('/', intents);

// Alternatively, you can add a global recognizer to the bot
bot.recognizer(new WitRecognizer('Wit.ai_access_token'));
bot.dialog('/doSomething', session => {...}).triggerAction({ 
    matches: 'intent.name'
});

Enable Response Caching

If caching is enabled, the WitRecognizer will try to serve the cached result first, and only send a request to Wit.ai when necessary. The subsequent response from Wit.ai will be cached for the configured duration.

// An example
// ----------
// Create a Redis client
const redis = require('redis');
const redisClient = redis.createClient({/* options */});

// Or a Memcached client
const Memcached = require('memcached');
const memcached = new Memcached('hostname:11211');

// Configure the recognizer to use the client
// Set an optional key expire duration in seconds, defaults to 3 hours
const recognizer = new WitRecognizer('Wit.ai_access_token', { cache: redisClient, expire: 3600 });

Using Entities

You can use the utility class EntityRecognizer to parse & resolve common entities.

// Inside your dialog handler that receives the session and arguments object
const { EntityRecognizer } = require('botbuilder');
const location = EntityRecognizer.findEntity(args.entities, 'location')

Using the Wit.ai client

You can still use the Wit.ai client directly by accessing the witClient property of the instantiated WitRecognizer.

const recognizer = new WitRecognizer('Wit.ai_access_token');
const witClient = recognizer.witClient;

License

MIT

Keywords

FAQs

Package last updated on 09 Mar 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc