kaede

0.3.1 • Public • Published

Kaede

A light-weighted LINE bot platform 🍁

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.

{
  clientClient, // Messaging API Client
  baseUrlstring, // base URL of webhook server
  staticRootstring, // 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

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

License

Apache License Version 2.0

Readme

Keywords

Package Sidebar

Install

npm i kaede

Weekly Downloads

0

Version

0.3.1

License

Apache-2.0

Last publish

Collaborators

  • utatti