gasolin / webbybot

chatterbot written in es6 (es2015), fork from hubot
68 stars 11 forks source link
bot chat chatbot hubot

Webbybot

THIS PROJECT IS NOT MAINTAINED, please consider Hubot or my client-side attempt Saihubot

Build Status codecov.io Dependency Status npm Join the chat at https://gitter.im/gasolin/webbybot

Webbybot is the next generation framework to build message/chat bots, written in ES6 and plain javascript. Fully compatible with Hubot's middleware and plugins.

The Differences:

The Same:

How to try Webbybot

You can start from webby-template , a template for make a working webby bot

$ git clone https://github.com/gasolin/webby-template.git demo
$ cd demo
$ npm install
$ ./bin/webby

You can find and install extra skills from npm

Enable a skill in external-scripts.json.

Add the environment variables in .env file.

How to replace Hubot to Webbybot

Refer to Getting Started With Hubot, Install hubot generator first

npm install -g yo generator-hubot

Then generate your robot with

yo hubot
  1. Enter the folder, edit bin/hubot and replace hubot to webby.

  2. install webbybot package

npm install --save webbybot
  1. modify adapter's dependency

Let's take telegram adapter for example. Edit node_modules/hubot-telegram/src/telegram.coffee and replace first line require 'hubot' to require 'webbybot'.

start your bot as normal

./bin/hubot

Tested with hubot-telegram and hubot-messenger.

Development

$ npm install -g mocha

Build

run command

$ npm run build

Add plugins

$ npm install hubot-calculator hubot-diagnostics

Add external-scripts.json file which contain:

[
  "hubot-diagnostics",
  "hubot-calculator"
]

Run

run command

$ node ./bin/webby
webby > ping
webby > PONG
webby > echo hello
webby > hello
webby > webby calc 1 + 1
webby > 2

Test

$ npm test

Lint

$ npm run lint

Write your own plugin

You can clone webby-plugin template to get start.

webby-template already bundled with webby-plugin. You can check how it work for reference.

License

MIT license