GithubHelp home page GithubHelp logo

00mjk / bottender Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yoctol/bottender

0.0 0.0 0.0 26.27 MB

⚡️ A framework for building conversational user interfaces.

Home Page: https://bottender.js.org

License: MIT License

JavaScript 0.99% TypeScript 98.35% CSS 0.62% Shell 0.04%

bottender's Introduction

Bottender

npm Build Status coverage License: MIT PRs Welcome join chat Gitpod Ready-to-Code Follow @bottenderjs

The readme below is the documentation for the v1 (stable) version of Bottender. To view the documentation:

  • Declarative - Bottender takes care of the complexity of conversational UIs for you. Design actions for each event and state in your application, and Bottender will run accordingly. This approach makes your code more predictable and easier to debug.

  • Native User Experience - Bottender lets you create apps on every channel and never compromise on your users’ experience. You can apply progressive enhancement or graceful degradation strategy on your building blocks.

  • Easy Setup - With Bottender, you only need a few configurations to make your bot work with channels, automatic server listening, webhook setup, signature verification and so much more.

  • Ready for Production - There are thousands of bots powered by Bottender. It has been optimized for real world use cases, automatic batching request and dozens of other compelling features.

Bottender is built on top of Messaging APIs.

Installation

You can create a new Bottender app using the CLI tools:

npx create-bottender-app my-app

Installation may fail on Windows during compilation of the native dependencies with node-gyp. To solve this problem, you can install windows-build-tools or check node-gyp documentation.

Documentation

You can find the Bottender documentation on the website.

Check out the Getting Started page for a quick overview.

Community

join chat

You can discuss anything about Bottender or chatbot development in our Discord Server. Join now!

Examples

We have a bunch of examples in the examples folder. Here is the first one to get you started:

// index.js
const { router, text } = require('bottender/router');

async function SayHi(context) {
  await context.sendText('Hi!');
}

async function Unknown(context) {
  await context.sendText('Sorry, I don’t know what you say.');
}

module.export = function App(context) {
  return router([text('hi', SayHi), text('*', Unknown)]);
};

Notable Features

Messenger

  • Messenger Profile Sync
  • Attachment Upload
  • Handover Protocol
  • Persona
  • Built-in NLP
  • Multiple Pages

LINE

  • Reply, Push, Multicast, Narrowcast
  • Imagemap
  • Rich menu
  • Room, Group Chat
  • Beacon
  • Icon Switch
  • Line Notify
  • LIFF (LINE Front-end Framework)

Slack

  • Channel Chat
  • Interactive Message
  • Slash Command

Telegram

  • Webhook, Long Polling
  • Updating, Deleting Messages
  • Keyboard
  • Group Chat
  • Inline Query
  • Message Live Location
  • Payment

Viber

  • Subscribed, Unsubscribed Event
  • Delivered, Seen Event

Ecosystem

Contributing

Pull Requests and issue reports are welcome. You can follow steps below to submit your pull requests:

Fork, then clone the repo:

git clone [email protected]:your-username/bottender.git

Install the dependencies:

cd bottender
yarn

Make sure the tests pass (including ESLint, TypeScript checks and Jest tests):

yarn test

Make your changes and tests, and make sure the tests pass.

Contribute using the online one-click setup

You can use Gitpod(a free online VS Code-like) for contributing. With a single click it will launch a workspace and automatically:

  • clone the bottender repo.
  • install the dependencies.
  • run yarn run start.

So that you can start straight away.

Open in Gitpod

License

MIT © Yoctol

bottender's People

Contributors

amite avatar bobchao avatar calvin-lin avatar chentsulin avatar darkbtf avatar dependabot[bot] avatar etrex avatar hch903 avatar hcwxd avatar homerchen19 avatar jigsawye avatar kidkcl avatar kpman avatar kutukata avatar littlewhiteya avatar louis70109 avatar lrills avatar mark86092 avatar nisarhassan12 avatar ohaodaio avatar qshiwu avatar roonie007 avatar sigorilla avatar siriustsou avatar storyn26383 avatar suphero avatar tbroadley avatar tigercosmos avatar tw0517tw avatar wtflink avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.