LINE Bot を作るための Node.js ライブラリを作った話
とりあえずライブラリ作ったので晒しておきます.
この記事は Qiitaにも同じものを書いています.
使い方
(Proxy IPが変わる可能性もあるので,常用はできなそうですが....)
その辺の話は,こちらの記事とか見ると良さそうです.
LINE Bot APIのサイト側設定については,ここでは省きます.
IP Whitelistの設定,Callback URLの設定は,他の記事を参照してください.
インストール
npm install --save @3846masa/linebot
ちなみに,ぼくはメンテナンスしなさそうなので,名前空けときました.
誰かちゃんとメンテナンスする人,もっといいライブラリ作ってください.
コード
テキストのみをechoするbotの例です.
const LineBot = require('@3846masa/linebot'); const bot = new LineBot({ channelID: 'xxxxxxx', channelSecret: 'xxxxxx', MID: 'xxxxxx' }); bot.on('message', (res) => { const content = res.content; if ( content.contentType === LineBot.CONST.CONTENT_TYPE.TEXT ) { bot.postText({ user: content.from, message: content.text }); } else { bot.postText({ user: content.from, message: 'Not text.' }); } }); bot.listen(3000);
listen
のポートは好きに変えてください.
Callback URLのPathは,とくに指定していないので,どのようなURLにしても通ります.
ただし,しっかりSignatureのチェックも書いたので,LINEからのリクエスト以外は弾かれます.
もし,Pathをちゃんと指定したい人は,好きに弄ってください.
ドキュメント
ESDoc試したかったので,頑張って書きました.
https://3846masa.github.io/node-linebot/
postXXXX
のような関数で,色々送信できます.
これで,簡単なbotであればすぐ作れますね.
余談
未だにLINE Botをうまくデプロイする方法が思いついてないのですが,いい案誰か考案してください.
誰でも簡単にbotが作れるようになると,楽しいですよね,きっと.