さて、実際にLINE Botを作ってみたいと思います。

LINE Botは、プログラミングにより作成するわけですが、作成方法は何種類もあります。ここでは、PHPというプログラミング言語を用いたLINE Bot開発について紹介しますが、次の環境を用意する必要があります。

  1. ネットワークに繋がっているサーバーにログインできる
  2. そのサーバーには、PHPがインストールされている
  3. そのサーバーでは、Webサービスが常時起動している
  4. そのWebサービスは、SSL(https)対応している

エンジニアでもない人がこれら4つの条件が揃った開発環境を用意するのは難しいと思いますが、とても簡単に用意する方法があります。

それは、レンタルサーバーを借りて、WordPressを導入することです。

Xサーバーは常時ネットワーク接続されたレンタルサーバーで、10日間の無料お試し期間があり、SSL(https)対応も無料で行うことができます。また、「WordPressの簡単インストール」という機能を使うと、登録からわずか1分ほどでWordPressをインストールできます。

WordPressは、PHP言語で作られたプログラムのため、2の条件も自動的にクリアしていることになります。

そこで、LINE Botを作るための準備として、XserverにWordPressをインストールするところからスタートしたいと思います。

Xserverの無料お試しプランをチェックする

XserverにWordPressをインストール

Xserverに登録する際に、「WordPressクイックスタート」という言葉が目に入ると思いますが、WordPressクイックスタートは使わない(チェックを外す)ようにしてください(即座に費用がかかるため)。プランの選択では、安くて機能が豊富な上、10日間の無料期間があるX10プランを選ぶことをオススメします。

Xserverにお試し無料登録する

登録の際に、サーバーID(サイトのURLに付く名前)を決めることができますが、こちらは何でも構いません。

登録後、ブラウザでXserverのトップページにアクセスし、上段メニュ「ログイン」-「サーバーパネル」を押します。

画面を下にスクロールして、「WordPress簡単インストール」を押します。

WordPress簡単インストールページの「WordPressインストール」タブで、次の4項目を入力して「確認画面へ進む」→「インストールする」と進みます。

画面が移動すると、インストールの完了です。

インストール後の画面に表示される「WordPressの管理画面URL」へ進み、初期登録ユーザー(管理用ユーザー)でログインできることを確認してください。

SSL(https)設定

次に、SSL設定を行います。

Xserverのサーバーパネルに戻りページ上段の方にある「SSL設定」を押します。

「独自SSL設定追加」タブで、「確認画面へ進む」→「追加する」を押します。

「追加する」を押してから数分〜1時間で、SSLの設定が完了します。

LINE Developersへの登録

次に、LINE Developersに登録します。

LINE Developersにアクセスして「ログイン」へ進み、「LINEアカウントでログイン」を押します。

ログインに成功すると、プロバイダーの作成画面・選択画面に移りますので、「作成」を押し、「Messaging API」を選択します。

すると、入力フォームやチェック項目が表示されるため、次の情報を入れていきます。

チャネルの種類Messaging API(選択)
プロバイダー自分で決めた名前(何でもOK)
チャネルアイコン画像ファイルをアップロード
チャネル名LINE Botの名前(後で変更できます)
チャネル説明LINE Botの説明欄に表示されます
大業種サービスの職種を選択します
ここでは「ウェブサービス」とします。
小業種サービスの詳しい職種を選択します
ここでは「ウェブサービス(教育)」とします。
メールアドレスご自身のメールアドレスを入力します。

必須項目を入力したら、「作成」→「同意する」と進むと、チャネルが作成されます。

チャネルの画面では様々な情報が掲載されていますが、ここではLINE Botの開発・実行に必要最低限の設定項目を紹介します。

タブメニュー設定・確認項目説明
チャネル基本設定チャネルシークレットプログラム内で使用
チャネル基本設定あなたのユーザーIDプログラム内で使用(必須ではない)
Messaging APIQRコードスマホのカメラをかざして友達追加してください
Messaging APIWebhook URL編集ボタンを押し、
サイトのURL/messaging-api/bot.php
今回の例では、
https://●●.xsrv.jp/messaging-api/bot.php
を入力して保存します。
Messaging APIWebhookの利用「ON」に設定(緑に反転)
Messaging APIチャネルアクセストークンプログラム内で使用(発行を押し、表示される)

続いて、LINE Official Account Managerのリンクへ進み、

応答設定の画面で、「応答モード:Bot」、「応答メッセージ:オフ」、「Webhook:オン」に設定します。

以上で、LINEサイトでの設定は完了です。

LINE Messaging APIの初期設定

次に、Xserverで初期設定を行います。サーバーにログインし、少しの操作が必要になるため、ここが一番の難関になるかもしれません。ログイン方法については、XserverのSSH接続機能についてをご覧ください。

XserverにSSHでログインしたら、LINE Messaging APIのSDK(ツール)をインストールします。

$ cd ●●.xsrv.jp/public_html (●●はXserver登録時に決めた名前)
$ mkdir messaging-api
$ cd messaging-api
$ composer require linecorp/line-bot-sdk

そして、「●●.xsrv.jp/public_html/messaging-api」ディレクトリ(フォルダ)の中に、以下のコードを書いた「bot.php」という名前のファイルを置けば、LINE Botの完成です。

サーバーにファイルを配置する方法は、Xserverのファイルマネージャー(ファイル管理)を使うと便利です。パソコン上で保存したファイルをアップロードできます。

「チャネルシークレット」と「チャネルアクセストークン」は、上記の設定項目で確認した文字列をコピー&ペーストしてください。

<?php

require_once __DIR__ . '/vendor/autoload.php';

define('SECRET', 'チャネルシークレット');
define('ACCESSTOKEN', 'チャネルアクセストークン');

$json_string    = file_get_contents('php://input');
$json_object    = json_decode($json_string);
$replyToken     = $json_object->{"events"}[0]->{"replyToken"};
$message_text   = $json_object->{"events"}[0]->{"message"}->{"text"};
$user_id        = $json_object->{"events"}[0]->{"source"}->{"userId"};

$return_message = "こんにちは。\n\n「{$message_text}」に対して応答しました。";

$response_format_text = array( "type" => 'text', "text" => $return_message );
$post_data = array( "replyToken" => $replyToken, "messages" => [$response_format_text] );

$ch = curl_init("https://api.line.me/v2/bot/message/reply");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode( $post_data, JSON_UNESCAPED_UNICODE ));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json; charser=UTF-8',
    'Authorization: Bearer ' . ACCESSTOKEN
));
curl_exec($ch);
curl_close($ch);

 

LINE Botを友達追加しメッセージを送ると、次のように応答するはずです。

プログラムと見比べると、11行目の変数$message_textに送信メッセージ(入力メッセージ)が入り、14行目の変数$return_messageで返信メッセージ(出力メッセージ)をセットしていることが分かると思います。

あとは、入力されたメッセージをプログラムで処理して、処理結果を$return_messageに入れてあげるだけで、応用できます。

今回はLINE Botの作り方を、1から順を追って説明しましたが、完成したLINE Botは、おうむ返しをするシンプルなものです。

次回、応用というほどではありませんが、LINE Botに処理を与えるプログラムを作ってみたいと思います。


PAGE TOP