Skip to content

Eulercoder/bottender

This branch is 1 commit ahead of, 1256 commits behind Yoctol/bottender:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8d7d08e · Apr 1, 2018
Nov 6, 2017
Mar 30, 2018
Oct 27, 2017
Feb 13, 2018
Mar 30, 2018
Aug 15, 2017
Oct 5, 2017
May 25, 2017
May 25, 2017
Oct 26, 2017
Jan 25, 2018
Jun 2, 2017
Mar 26, 2018
Oct 19, 2017
Mar 13, 2018
Jul 11, 2017
Jul 11, 2017
Jul 11, 2017
Mar 30, 2018
Jul 11, 2017
Oct 17, 2017
Nov 27, 2017
Mar 30, 2018

Repository files navigation

Bottender

npm CircleCI coverage License: MIT PRs Welcome join chat

  • Flexible - Declare handlers as any JavaScript function.

  • Modern - Source written with ES6/ES7 syntax and great async await supports.

  • Modular - Use session stores, server framework adapters and platform connectors with same interface.

  • Learn Once, Write Anywhere - Handle multiple platforms with consistent development experience.

Bottender is built on top of Messaging APIs.

Installation

You can install Bottender globally to use the cli tools:

npm install -g bottender

Or install it locally to use it programmatically:

npm install bottender

Documentation

You can find the Bottender documentation on the website.

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:

const { ConsoleBot } = require('bottender');

const bot = new ConsoleBot();

bot.onEvent(async context => {
  await context.sendText('Hello World');
});

bot.createRuntime();

This will create and run a bot which always reply "Hello World" in the console.

You'll notice that there is an async function to be passed to the onEvent method, we call it handler. You can put your bot logic in there.

Notable Features

Messenger

  • Messenger Profile Sync
  • Attachment Upload
  • Handover Protocol
  • Targeting Broadcast Messages
  • Built-in NLP
  • Multiple Pages

LINE

  • Reply, Push, Multicast
  • Imagemap
  • Rich Menu
  • Room, Group Chat
  • Beacon

Slack

  • Channel Chat
  • Interactive Message

Telegram

  • Webhook, Long Polling
  • Update, Delete Messages
  • Keyboard
  • Group Chat
  • Inline Query
  • Message Live Location
  • Payment

Viber

  • Subscribed, Unsubscribed Event
  • Delivered, Seen Event

Introduction Video

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 git@github.com:your-username/bottender.git

Install the dependencies:

cd bottender
yarn

Make sure the tests pass (including eslint, flow checks and jest tests):

yarn test

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

License

MIT © Yoctol

About

⚡️ Make Bots in Your Way, Fast and Flexibly

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%