npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

botbuilder-tmp

v3.15.2

Published

Bot Builder is a dialog system for building rich bots on virtually any platform.

Downloads

6

Readme

Bot Builder for Node.js

Bot Builder for Node.js is a powerful framework for constructing bots that can handle both freeform interactions and more guided ones where the possibilities are explicitly shown to the user. It is easy to use and models frameworks like Express & Restify to provide developers with a familiar way to write Bots.

High Level Features:

  • Powerful dialog system with dialogs that are isolated and composable.
  • Built-in prompts for simple things like Yes/No, strings, numbers, enumerations.
  • Built-in dialogs that utilize powerful AI frameworks like LUIS.
  • Bots are stateless which helps them scale.
  • Bots can run on almost any bot platform like the Microsoft Bot Framework, Skype, and Slack.

Build a bot

Create a folder for your bot, cd into it, and run npm init.

npm init

Get the BotBuilder and Restify modules using npm.

npm install --save botbuilder
npm install --save restify

Create a file named app.js and say hello in a few lines of code.

var restify = require('restify');
var builder = require('botbuilder');

// Create bot and add dialogs
var connector = new builder.ChatConnector({
    appId: "YourAppId",
    appPassword: "YourAppSecret"
});
var bot = new builder.UniversalBot(connector);  
bot.dialog('/', function (session) {
    session.send('Hello World');
});

// Setup Restify Server
var server = restify.createServer();
server.post('/api/messages', connector.listen());
server.listen(process.env.port || 3978, function () {
    console.log('%s listening to %s', server.name, server.url); 
});

Test your bot

Use the Bot Framework Emulator to test your bot on localhost.

Install the emulator from here and then start your bot in a console window.

node app.js

Start the emulator and say "hello" to your bot.

Publish your bot

Deploy your bot to the cloud and then register it with the Microsoft Bot Framework. If you're deploying your bot to Microsoft Azure you can use this great guide for Publishing a Node.js app to Azure using Continuous Integration.

NOTE: When you register your bot with the Bot Framework you'll want to update the appId & appSecret for both your bot and the emulator with the values assigned to you by the portal.

Dive deeper

Learn how to build great bots.