• Stars
    star
    98
  • Rank 345,882 (Top 7 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 8 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A development framework to build tailer-made chatbot lightning fast.

Build Status

Overview

bot-express is a chatbot development framework to build tailer-made chatbot lightning fast. Developers can extend the chatbot capability just by adding skills.

Features

  • NLU integration.
  • Context aware behavior.
  • Auto parameter collection based on skill.
  • Auto language translation.
  • Support multiple messengers.
  • Available as npm package.

Architecture

Components

A chatbot based on bot-express is composed of following components.

architecture

  • Messenger
  • NLU
  • Bot instance(Node.js app based on bot-express)

Developers can extend the chatbot capability just by adding skills. 1 skill is simply composed by 1 script file. Developers can make chatbot more painstaking by creating polished skill and make it more capable by adding wide variety of skills.

Basic workflow

The very basic workflow of bot-express based chatbot is following.

  1. A user sends message to a chatbot.
  2. bot-express forwards the message to NLU and identifies the intent of the message.
  3. bot-express pickup a skill corresponding to the identified intent.
  4. The skill is executed. ex: Reply to the user, Update the database, Send signal to IoT devices.

bot-express continues interaction with the user until it accomplish the mission defined by the skill. The interaction is conducted to respond/collect required information. Developers can configure the parser and reaction for every single parameters to collect and they are automatically applied to each messages from the user.

Getting Started

bot-express can be installed by installing a npm package just like below.

$ npm install --save bot-express

Running through the tutorial is a fastest way to learn bot-express since it covers the most important configurations step by step.

Tutorial: Create pizza delivery reception bot using bot-express

Also take a glance at sample_skill directory which contains some sample skills.

Sample skills

Reference

As for the complete configurations, spec of the skill script and API, please refer to the following document.

https://nkjm.github.io/bot-express

Supported Messengers

Supported NLU

Debug

Set environment variable DEBUG to "bot-express:*" to activate full debugging. In production environment, setting "bot-express:skill-status" is recommended. To make this debugging work properly when you use redis as memory store, you need to enable Redis Keyspace Notification like following to subscribe expired event.

$ redis-cli config set notify-keyspace-events Ex

Also need to enable keyspace_notification of memory option in index.js like follows.

memory: {
    type: "redis",
    options: {
        url: process.env.REDIS_URL,
        keyspace_notification: true // default is false.
    }
}

Limitation

Webhook supports following event at present.

LINE

  • message
  • follow
  • unfollow
  • join
  • leave
  • postback
  • beacon

Facebook

  • messages
  • messaging-postbacks

If you deploy cluster of bot-express based application, you need to use redis as context store. Please refer to the document for detail.

More Repositories

1

table-order

A chatbot for table order including payment and web order board for restaurant
JavaScript
43
star
2

line-pay

A SDK to use LINE Pay inside the node.js application.
JavaScript
35
star
3

line-pay-in-bot

Sample code to use LINE Pay in your bot.
JavaScript
29
star
4

line-login

SDK to use LINE Login inside the node.js based application on top of express framework
JavaScript
27
star
5

Force.com-OAuth-Toolkit-for-PHP

A toolkit to enable OAuth in external Web Services developed in php
PHP
15
star
6

quiz

テレビのクイズ番組のような催しを実現できるWebSocket + Node.jsのリアルタイム・クイズアプリ
JavaScript
10
star
7

virtzfs

A tool to enable quick provisioning and snapshot/rollback of Virtual Machine in Xen or KVM environment leveraging ZFS
Python
9
star
8

oraload

a super simple load testing tool for Oracle Database written in python.
Python
7
star
9

oracle-apex-oauth

OAuth npm package for apex.oracle.com
JavaScript
6
star
10

723990c518acfee6e473

ゼロからはじめるExpress + Node.jsを使ったアプリ開発のサンプルコード
JavaScript
5
star
11

smart-city

A sample of chatbot which can handle various residential services
JavaScript
5
star
12

sushi-bot

A sample chatbot which can handle sushi delivery order.
JavaScript
5
star
13

qiita-dietitian

Qiitaで公開しているチュートリアル「AIが入ったBotの作り方を学ぼう」のサンプルコード
JavaScript
4
star
14

dietitian

Dietitian bot who works just for you
JavaScript
4
star
15

bootcamp-sushi-bot

A sample LINE chatbot which can handle sushi delivery order.
JavaScript
4
star
16

scrud

Wrapper CRUD method library which follows CRUD/FLS enforcement.
Apex
3
star
17

food-court

A chatbot which can take order and accept payment
JavaScript
3
star
18

interview

a python module to provide interactive configuration of the options on program execution
Python
3
star
19

waterfall-cafe-bot

A Chat Bot working at Digital Cafe Waterfall in Oracle Japan Office
JavaScript
3
star
20

shokuhin-db

食品のカロリー・栄養量を取得するためのライブラリ
JavaScript
3
star
21

Oracle-Database-Cloud

PHP
3
star
22

sugoisurvey

Apex
2
star
23

account-link-demo

This is a sample LINE bot which implements account link to link LINE with Todoist.
JavaScript
2
star
24

line-pay-bootcamp

Sample code to add LINE Pay to web app and bot
JavaScript
2
star
25

workout-trainer-sample

A sample chatbot of workout trainer which works for both LINE and Google Assistant
JavaScript
2
star
26

smart-city-global

A demonstration of smarty city bot
JavaScript
1
star
27

clova-skill-okonomiyaki

JavaScript
1
star
28

hatake-bot

Hatake Bot which runs on LINE
JavaScript
1
star
29

oracle-vm-demonstration

A demonstration Web UI to show how fast Oracle VM can create new VM and dynamic resource management leveraging ZFS features.
Python
1
star
30

dg_setup

Python
1
star
31

softbank-world

JavaScript
1
star
32

mecabaas

MeCabの機能をAPIで提供するためのnode.jsアプリ
JavaScript
1
star
33

oracle-database-demonstration

A demonstration Web UI to show how Database as a Service can be achieved with Oracle Database
PHP
1
star
34

Canvas-Personal-Demo

PHP
1
star
35

Trialforce-Signup-Using-API

PHP
1
star
36

faq-bot-sample-en

A sample chatbot who can answer and learn questions
JavaScript
1
star
37

forcetk4ng

Force.com Javascript Toolkit for AngularJS
JavaScript
1
star
38

php-sysasm-patch

patch to add sysasm session mode to oci_connect()
1
star
39

sugoisurvey2

Apex
1
star
40

mecabaas-client

形態素解析エンジンMeCab + mecab-ipadic-NEologdの機能をCloud API経由で利用するためのクライアントライブラリ
JavaScript
1
star