Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alavers/smooch-bot
Build your own chat bot on top of smooch.io
https://github.com/alavers/smooch-bot
Last synced: 5 days ago
JSON representation
Build your own chat bot on top of smooch.io
- Host: GitHub
- URL: https://github.com/alavers/smooch-bot
- Owner: alavers
- License: mit
- Created: 2016-02-24T04:13:28.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-16T17:49:54.000Z (over 7 years ago)
- Last Synced: 2024-04-24T14:37:15.920Z (7 months ago)
- Language: JavaScript
- Size: 21.5 KB
- Stars: 76
- Watchers: 11
- Forks: 46
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Smooch Bot[![Build Status](https://travis-ci.org/smooch/smooch-bot.svg?branch=master)](https://travis-ci.org/smooch/smooch-bot)
http://blog.smooch.io/how-to-build-your-own-smooch-bot/
A simple generic chat bot with persisted conversation state and user properties. You can also run your bot on top of [smooch.io](http://smooch.io).
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 https://github.com/gozman/smoochbot, 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.
1. `Script`: The chat script. This defines what your bot will say and how it should respond to user input.
1. `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 [smooch.io](http://smooch.io). 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: https://github.com/smooch/smooch-bot-example