Build your own chat bot on top of
Switch branches/tags
Clone or download
narisso and alavers typingActivity function (#15)
* added setTypingActivity

* update smooch core

* minor fixes
Latest commit f9ff078 Mar 16, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib typingActivity function (#15) Mar 16, 2017
.eslintrc Initial commit Feb 23, 2016
.gitignore Moved examples to Feb 24, 2016
.travis.yml Add node 6 to test suite May 6, 2016
LICENSE Update readme Oct 3, 2016
index.js Implement SmoochApiBot, SmoochApiStore, and an express example Feb 24, 2016
package.json typingActivity function (#15) Mar 16, 2017

Smooch BotBuild Status

A simple generic chat bot with persisted conversation state and user properties. You can also run your bot on top of

This framework is designed with the intent of giving you full control over how you want your bot to behave, and extensibliity allowing you to easily connect it to a variety of APIs and communication channels (Smooch or otherwise). This comes at the cost of features. Unlike many popular bot tools and services that are available today, smooch-bot assumes very little and therefore offers a reduced set of tools for you to use to build common bot scenarios. This framework gives you an asynchronous conversation state and user property persistence model to build off of, but the rest is up to you.

This framework is also not to be confused with, which is a Smooch connector for BotKit (howdyai/botkit).

A bot consists of three core components:

  1. Bot: The heart of your bot. Your Bot implements a say() method. The bot also needs to be provided with a store implementation for saving conversation state and user properties, as well as a lock implementation for synchronizing tasks.

  2. Script: The chat script. This defines what your bot will say and how it should respond to user input.

  3. StateMachine: This is the engine that uses the Bot to guide a session from one Script step to the next.

SmoochApiBot and SmoochApiStore allow you to run your chat bot on top of That means you can run your bot over SMS, Web, iOS, Android, you name it! You can also hook your conversations up to back end channels such as Slack and HipChat so that a human jump in the conversation whenever you like.

To see this bot in action, check out the examples here: