nubot-playbook
v2.1.3
Published
Conversational UI chatbot framework.
Downloads
6
Readme
Context and branching for chatbot conversations (with Hubot).
Breaking Changes to Hubot Compatibility
Note that this fork does not maintain backwards compatibility with Hubot. The Transcribe module uses new features of Nubot's DB storage adapter to store large data sets via the brain that aren't kept in memory. As such, if transcribing is enabled, methods are called that don't exist in the Hubot brain and will throw exceptions.
Important
Playbook works best with a custom fork of hubot that adds promises to middleware - hubot async - which allows async features. Hopefully in later versions of hubot, async will be supported and Playbook can be used with any version from then on.
Usage & Development
Read the docs to get an understanding of Playbook modules and their methods.
See basic examples in the integration scripts, the outcomes of are tested here.
See advanced examples in the main Playbook module tests here.
Tests are run with Hubot Pretend
TODO
Fixes
- Write tests for Outline module
- Replace hoooker package with middleware pattern for scene enter etc
- Queue dialogue.receive calls to ensure messages process synchronously
- Optional config for send middleware to throttle hearing consecutive res
- Display "thinking" ellipses (emit event for use by adapters)
Docs
- Update integration tests to with unique listeners so all can be loaded at once
- Write usage examples as integration tests, with inline doc comments
- Generate usage guide docs from integration tests with annotated source
- Example setup steps for a Playbook bot without development requirements
- Add npm script to start a hubot and interact with usage examples in shell
- Contributor docs with npm script examples and commitizen ettiquite
- Make interactive demo bots, illustrating features and data inspection
Features
- Add timing module to rate limit and schedule sends
- Integrate enter/path/branch listeners with Conditioner for semantic matchers
- Add integration tests with external-scripts and adapters (e.g. shell/irc)
- Helpers for adapter UI payloads, for buttons and cards in messenger etc
- NLP for path matching on intent params with rasa.ai
- Translate sent strings and match terms with i18n-node