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 helpkaede --help
The bot script should default-export an async generator yielding message objects.
{type: 'text' text: 'hello' ;type: 'text' text: 'world' ;}
You can also refer to the bot context as the 2nd argument.
{const profile = await ctxclient;type: 'text' text: `hello, !` ;}
The context object has a type like below.
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.
`/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