追記(16/10/25):ライブラリ自体は Messaging API に書き換えましたが,記事は古いままです.
詳しい使い方は https://3846masa.github.io/node-linebot/ を見てください
LINE Bot APIが公開になりました.
とりあえずライブラリ作ったので晒しておきます.
使い方
適当なサーバ,ドメイン,SSL環境などを用意します.
SSLは,CloudflareのSSLを使ってやりました.
(Proxy IPが変わる可能性もあるので,常用はできなそうですが....)
その辺の話は,こちらの記事とか見ると良さそうです.
LINE Bot APIのサイト側設定については,ここでは省きます.
IP Whitelistの設定,Callback URLの設定は,他の記事を参照してください.
インストール
npm install --save @3846masa/linebot
ちなみに,ぼくはメンテナンスしなさそうなので,名前空けときました.
誰かちゃんとメンテナンスする人,もっといいライブラリ作ってください.
コード
古い内容です.新しい使い方は https://3846masa.github.io/node-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試したかったので,頑張って書きました.
postXXXX
のような関数で,色々送信できます.
これで,簡単なbotであればすぐ作れますね.
余談
未だにLINE Botをうまくデプロイする方法が思いついてないのですが,いい案誰か考案してください.
誰でも簡単にbotが作れるようになると,楽しいですよね,きっと.
広告
広告
Nakano Computer Club では する部員を募集しています。
https://meiji-ncc.tech/