OSSのチャット・ボットプラットフォームであるBotpressは、標準でLINE連携コネクタがありません。
Botを作成するとなると、やっぱり避けて通れないのはLINEです。
どんな企業も今はLINE公式アカウントがあり、中身はBotです。
LINEBotを作成する経験はしておいて損はないでしょう。
「Botpress-LINEプロジェクト」というBotpressを「LINE」に接続するコネクタを開発するOSSがあります。
本記事では「Botpress-LINEプロジェクト」を使用して、BotpressとLINEを連携する手順を公開します。
概要
本記事に関する概要を以下に記載します。
本記事の概要
本記事では、「チャット・ボットの教科書」の著者である、「中村雅之」さんが開発したBotpressとLINEを連携するOSSである「Botpress-LINEプロジェクト」を使用して、Botpressで開発したBotをLINEから使用できるようにします。

作業工程
- LINEのチャネルの作成
- Channel-LINEモジュールのインストール
- Channel-LINEモジュールの設定
- LINEのチャネルのWebhook設定
※本記事の作業手順は以下公式サイトの手順を落とし込んだものになります。

事前要件
- LINE Developアカウントを作成済であること
- Botpress環境が構築済であること
※参照:【チャット・ボット】Amazon LightsailでBotpress環境を簡単に構築する!
LINEのチャネルの作成
LINE DevelopersにてLINEチャネルを作成します。
※事前に「LINE Developers」アカウントが作成済である必要があります。
以下、手順を実行して下さい。
LINE Developersコンソールを開きます。
画面左ペイン、「プロパイダー」から任意のプロパイダーをクリックします。
「チャネル設定」タブから「新規チャネル作成」をクリックします。
ポップアップが表示されるので、「Masseging API」をクリックします。
新規チャネル作成画面にて、項目に従い各パラメータを入力します。
入力後、ページ下部「作成」ボタンをクリックします。
- 新規チャネル作成
- チャネルの種類・・・Masseging API
- プロバイダー・・・<プロパイダー名>
- 会社・事業者の所在国・地域 ・・・日本
- チャネルアイコン・・・<任意のアイコンを指定(LINEアイコンになります)>
- チャネル名・・・<任意の名前を指定(LINEの名前になります)>
- チャネル説明・・・Botテスト用
- 大業種・・・<任意の業種を選択>
- 小業種・・・<任意の業種を選択>
- メールアドレス・・・<ご自身のメールアドレスを入力>
- プライバシーポリシーURL ・・・<任意>
- サービス利用規約URL・・・<任意>
LINE Devコンソールから作成したチャネルをクリックします。
チャネル管理画面、「チャネル基本設定」タブ-「チャネルシークレット」をコピーして控えておきます。
チャネル管理画面、「Messaging API設定」タブ-「チャネルアクセストークン」をコピーして控えておきます。
Channel-LINEモジュールのインストール
Botpress管理コンソールを開きます。
画面左ペインから「Modules」をクリックします。

右上の「Upload Module」ボタンから 以下のリンクからダウンロードした「channel-line-vX.X.X.tgz」ファイルをアップロードします。
v0.2.1 (2021/10/2)
https://github.com/petitroto/botpress-line/releases/download/v0.2.1/channel-line-v0.2.1.tgz
対応Botpressバージョン:v12.26.0以降(v12.26.3で動作確認済)

画面上部に「Restart」ボタンが表示されるので、Botpressを再起動します。

Botpressの再起動後、再度、画面左ペインから「Modules」をクリックします。
「Compressed Modules」欄に「channel-line」が追加されていることを確認し、「Unpack Module」ボタンをクリックします。
「Stable Modules」欄の「Channel – LINE」のスイッチをONにします。
Channel-LINEモジュールの設定
LINEに接続したいボットのスタジオを開き、画面左ペイン「Code Editor」をクリックします。
左のファイルリストの「Module Configurations」の「Global」フォルダにある「channel-line.json」の上で「右クリック」(Macなら副ボタン≒2本指でクリック)して「Duplicate to current bot」をクリックします。

「Current Bot」フォルダに生成された「channel-line.json」を開いてファイルの内容を以下の通り修正します。
{
"$schema": "bp://types/modules/channel-line/config.schema.json",
"enabled": false,
"channelAccessToken": "your channel access token here",
"channelSecret": "your channel secret here"
}
↓ 修正
{
"$schema": "bp://types/modules/channel-line/config.schema.json",
"enabled": true,
"channelAccessToken": "<チャネルアクセストークンを指定>",
"channelSecret": "<チャネルシークレットを指定>"
}
Botpressを再起動します。
再起動後、再度、LINEに接続したいボットのスタジオを開き、画面左ペイン「Code Editor」をクリックします。
画面右上「BottomPanel」をクリックします。
画面下部にパネルが表示されるので、パネル左ペイン「Logs」をクリックして、最後に出力されている以下のログを確認します。
20yy-mm-dd 00:30:43infoLine webhook listening at https://<BotpressURL>/api/v1/bots/harumaxbot/mod/channel-line/webhook
https~以降のURLをコピーして控えます。

LINEのチャネルのWebhook設定
LINE Developersコンソールを開きます。
対象のチャネルを選択して、「Messaging API」タブを開きます。
「webhook settings」-「Webhook URL」「編集」ボタンをクリックします。
控えておいたwebhook URLを入力します。
「webhook settings」-「Webhookの利用」を有効化にします。
以上の設定で、Botpressで作成したBotがLINEで使用できるようになります。
まとめ
Botpress-LINEプロジェクトは、BotpressとLINEの連携が可能になる最高にイカしたツールです。
これから、チャットボットがもっと身近に存在になればと思ってます。
コメント