5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

IBM Cloud上のNode-REDでLINE Botの作成

Last updated at Posted at 2021-08-23

はじめに

本記事は、IBM Cloud上のNode-REDとLINE Messaging APIを利用した、LINE Botの作成方法を記載しています。
※2021年8月時点での手順です(クラウドサービスのため変更されている可能性あり)

前提

本記事の手順を進めるにあたり、下記の3つが前提条件です。

  • LINEアカウントを持っていること

    • 通常のLINEを利用できるもの
    • もしLINEを使っていない場合は、アカウントの作成が必要
  • IBM Cloudアカウントを持っていること

    • ライトアカウントでもPAYGアカウントでもどちらでも大丈夫
    • もしアカウントを持っていない場合は、こちらからアカウント登録
  • IBM Cloud上でNode-REDフローエディタの環境構築が済んでいること

    • もし環境構築が済んでいない場合は、こちらの記事を参考に環境構築

準備手順

LINE Messaging API

LINE Developersにログイン

こちらからLINE Developersサイトを開きます。
LINE Developersサイトの右上の「ログイン」ボタン(下記画像の赤枠部分)をクリックします。
LINEDevelopers.png
「ログイン方法選択」画面に遷移します。
そして、「LINEアカウントでログイン」ボタン(下記画像の赤枠部分)をクリックします。
LINEDevelopers.png
LINEアカウントで設定しているメールアドレスとパスワードを入力するか、もしくはQRコードログインを使用してLINEアカウントでログインしてください。
LINEDevelopersログイン.png

LINE Messaging API channelの作成

Providersの横の「Create」ボタン(下記画像の赤枠部分)をクリックします。
Provider.png
「Provider name」を入力し、「Create」ボタン(下記画像の赤枠部分)をクリックします。
CreateProvider.png
「Channels」タブを選択します。
Channels.png
「Create a Messaging API channel」(下記画像の赤枠部分)を選択します。
CreateMessagingAPIChannel.png
下記画像の「Create a channel」ページに遷移し、次の必須項目を入力する。

  • Channel name:チャンネル名
  • Channel description:チャンネル概要
  • Category:LINE Botの利用種類
  • Subcategory:Categoryを細分化したもの

CreateChannel.png
2つの利用規約を確認し、同意してチェックします。
そして、「Create」ボタン(下記画像の赤枠部分)をクリックします。
ChannelCreate.png
内容を確認し「OK」ボタン(下記画像の赤枠部分)をクリックします。
CreateChannel.png
内容を確認し「同意する」ボタン(下記画像の赤枠部分)をクリックします。
CreateChannelAgree.png
「Basic setting」タブを選択し、次の項目を設定します。

  • Channel Secret:再発行(後に使用するため、メモ帳にコピー)

BasicSetting.png
「Messaging API setting」タブを選択し、次の項目を設定します。

  • QRコード:スマホで読み込んで友達登録
  • Webhook URL:後ほどNode-REDで取得するURL(https://<"Node-REDのホスト名">.mybluemix.net/line)を設定
  • Use webhook:オン
  • Auto-reply messages:応答メッセージをオフ
  • アクセストークン:後に使用するため、メモ帳にコピー
    MessagingAPISetting.png

Node-RED

IBM Cloudにログイン

ログイン画面にIBMid(登録メールアドレス)とパスワードを入力し、IBM Cloudにログインします。
ログインすると、ダッシュボード(下記画像)が表示されます。
IBMCloudログイン.png

Node-REDにLINE Bot SDKをセットアップ

「リソースの要約」カードの「Apps」(下記画像の赤枠部分)を選択します。
apps.png
作成したNode-REDのApps(下記画像の赤枠部分)を選択します。
app.png
作成したNode-REDのAppsの「アプリの詳細」画面から「デプロイメント自動化」カードの「名前」項目(下記画像の赤枠部分)を選択します。
Node-REDApp.png
「Eclipse Orion Web IDE」カードを選択します。
Eclipse.png
「package.json」を開きます。
package.png
下記項目を追記します。
「dependencies」の中に以下を追加

"@line/bot-sdk": "*"

「bulemix-settings.js」を開きます。
bluemix.png
下記項目を追記します。
「functionGlobalContext」の中に以下を追加

linebot: require('@line/bot-sdk')

左のメニューバーからGitを選択し、「コミットメッセージ」を入力し、右上の「コミット」ボタンをクリックします。
git.png
「アクティブ・ブランチ(master)」カードの「プッシュ」ボタンをクリックします。
push.png
「Delivery Pipeline」カードが「成功」になるまで待ちます。
「成功」になれば、Node-REDでLINE Bot SDKの利用が可能になります。
Delivery.png

Node-REDエディタ

「リソースの要約」カードの「Cloud Foundryアプリ」(下記画像の赤枠部分)を選択します。
Resource.png
「リソース・リスト」から「Node-REDアプリ」(下記画像の赤枠部分)を選択します。
ResourceList.png
「アプリURLにアクセス」(下記画像の赤枠部分)をクリックします。
NodeREDApp.png
Node-REDのトップ画面(下記画像)に遷移します。
NodeRED.png
「Go to your Node-RED flow editor」ボタン(下記画像の赤枠部分)をクリックします。
NodeRED.png
「ユーザ名」と「パスワード」を入力し、「ログイン」ボタン(下記画像の赤枠部分)をクリックします。
NodeREDLogin.png
Node-REDフローエディタ(下記画像)が立ち上がります。
Flow.png

オウム返しBotの作成

ノード置き場から以下のノードを取り出し取り出し、下記の項目を作業エリアに配置・設定します。

  • 「ネットワーク」エリアにある「http」ノード
    • POSTに設定
    • URL欄にWebページの表示用のアドレス (今回は "/line") を入力
    • 「完了」をクリック
  • 「機能」エリアの「switch」ノード
    • 中身を以下のように設定し、「完了」ボタンをクリック
      image.png
  • 下の分岐
    • 「機能」エリアにある「function」ノード
      • 中身を以下のように記載
        • LINE Messaging API channelの作成で発行した「チャンネルシークレット」と「チャンネルアクセストークン」を<YOUR_TOKEN><YOUR_SECRET>に入力します。
const line = context.global.linebot;
const config = {
  channelAccessToken: '<YOUR_TOKEN>',
  channelSecret:  '<YOUR_SECRET>',
};
const client = new line.Client(config);
const event = msg.payload.events[0];
const received_msg = event.message.text;
var massage = { type: 'text', text: received_msg };
client.replyMessage(event.replyToken, massage);
return msg;
  • 上下共通
    • 「ネットワーク」エリアにある「http response」ノード
      そして、右上のデプロイをクリックします。
      flows.png

これでオウム返しBotの作成が完了しました。
ラインのアプリからメッセージを送ると、送ったメッセージがそのまま返ってきます。

参考書籍

はじめてのNode-RED[ver.1.3.0対応版]

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?