kaede
A light-weighted LINE bot platform
Last updated 2 years ago by noraesae .
Apache-2.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install kaede 
SYNC missed versions from official npm registry.

Kaede

A light-weighted LINE bot platform :maple_leaf:

Requirements

Node.js 8 or higher

Install

Via npm:

npm i -g kaede

How to use

Kaede is under heavy development and the hehaviour can be changed at any time.

$ kaede [args] <script>
kaede bot.js

# with custom config path (kaede.config.json by default)
kaede --config custom.config.json bot.js

# show help
kaede --help

The bot script should default-export an async generator yielding message objects.

export default async function* (event) {
  yield { type: 'text', text: 'hello' };
  yield { type: 'text', text: 'world' };
}

You can also refer to the bot context as the 2nd argument.

export default async function* (event, ctx) {
  const profile = await ctx.client.getProfile(event.source.userId);
  yield { type: 'text', text: `hello, ${profile.displayName}!` };
}

The context object has a type like below.

{
  client: Client, // Messaging API Client
  baseUrl: string, // base URL of webhook server
  staticRoot: string, // absolute path to static root directory
}

About the interface of Client, please refer to the documentation of line-bot-sdk-nodejs.

The kaede command with a bot script path will automatically set up a webhook server and a ngrok tunnel. Please set the generated URL as a webhook URL in LINE Developers Console. The URL will already have been copied to the system clipboard.

$ kaede bot.js
Listening at 91178db2.ngrok.io
91178db2.ngrok.io is copied to the clipboard

Press Enter/Return to reload the bot script
Press Ctrl+C/D to quit

For detailed usages, please refer to the examples.

Static file serving

Kaede serves static files in static/ by default. You can also set this with --static in CLI. Please refer to the context for webhook base URL and static root.

`${ctx.baseUrl}/images/some_image.jpg`
// => will serve a file at `${ctx.staticRoot}/images/some_image.jpg`

Features

  • [x] Basic webhook functionality
  • [x] ngrok integration
  • [x] Hot reload for bot script
  • [ ] Connect adaptor for production usage

License

Apache License Version 2.0

Current Tags

  • 0.3.1                                ...           latest (2 years ago)

8 Versions

  • 0.3.1                                ...           2 years ago
  • 0.3.0                                ...           2 years ago
  • 0.2.1                                ...           2 years ago
  • 0.2.0                                ...           2 years ago
  • 0.1.2                                ...           2 years ago
  • 0.1.1                                ...           2 years ago
  • 0.1.0                                ...           2 years ago
  • 0.0.0                                ...           2 years ago
Maintainers (1)
Downloads
Today 0
This Week 8
This Month 9
Last Day 8
Last Week 1
Last Month 12
Dev Dependencies (1)
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |