Help us understand the problem. What is going on with this article?

LINE Bot を作るための Node.js ライブラリを作った

More than 3 years have passed since last update.

追記(16/10/25):ライブラリ自体は Messaging API に書き換えましたが,記事は古いままです.
詳しい使い方は https://3846masa.github.io/node-linebot/ を見てください

LINE Bot APIが公開になりました.
とりあえずライブラリ作ったので晒しておきます.

NPM
Github

使い方

適当なサーバ,ドメイン,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試したかったので,頑張って書きました

https://3846masa.github.io/node-linebot/

postXXXXのような関数で,色々送信できます.
これで,簡単なbotであればすぐ作れますね.

余談

未だにLINE Botをうまくデプロイする方法が思いついてないのですが,いい案誰か考案してください.
誰でも簡単にbotが作れるようになると,楽しいですよね,きっと.

広告

広告
Nakano Computer Club では する部員を募集しています。
https://meiji-ncc.tech/

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away