Azure App Serviceの無料プラン(F1)を使用して、オウム返しをするBOTを作成しましょう。
Azure App Serviceは、自動で割り当てられるドメイン名でhttpsの利用が可能です。
Azure App Serviceは様々な言語でプログラミングできますが、今回はPHPを使用します。
LINE BOTのアカウントを作成する
※Trial Bot Accountの受付は終了したようです
アカウント取得してはみたけどまだ使っていないという方、とりあえず作ってみましょう。
こちらなどを参考に作成します。
- Channel ID
- Channel Secret
- MID
これらの値は次の手順で使用します
Azure App Service側の準備
F1のインスタンスを作成する
App Serviceの設定画面を開き「新規作成」をクリック
アプリ名、リソースグループを設定
プランの選択
環境変数の設定
LINE Trial Bot Account作成時に割り当てられたChannelID, ChannelSecret, MIDを環境変数に設定します。
Line Bot AccountのWhiteListに設定するIPアドレスの確認
プロパティの「送信IPアドレス」に表示されるIPアドレスを、Line Bot AccountのWhiteListに設定します。
URLの確認
Line Bot Accountのcallback URLに設定するURLを確認します。
PHP アプリケーションの準備
専用のライブラリがあるので、それをcomposerでインストールします。
componser require oh-sky/line-trialbot
オウム返しをするプログラムは下記のように作成できます。
getenvの引数はAzure App Serviceの環境変数設定で入力した環境変数名
にしてください。
<?php
namespace Foo;
include 'vendor/autoload.php';
use OhSky\LineTrialBot\Sender;
use OhSky\LineTrialBot\RequestHandler;
$sender = new Sender(
getenv('LINE_CHANNEL_ID'),
getenv('LINE_CHANNEL_SECRET'),
getenv('LINE_MID'),
['verify' => false]
);
$requestBodyJson = file_get_contents('php://input');
$eventList = RequestHandler::getEventList($requestBodyJson);
foreach ($eventList as $event) {
$sender->sendText(
[$event->content->from],
$event->content->text
);
}
これをGitなりFTPなりで、Azure App Serviceに配置します。
LINE Trial Bot Accountにcallback URLとServer IP Whitelistを設定
Server IP Whitelistに設定する値は、Azure App Serviceの送信IPアドレスの第四オクテットを0にして、マスク長を24にすればとりあえず動きます。
今回使用したライブラリは、テキスト以外にも画像・動画・音声・位置情報・スタンプの送信にも対応しています。
とりあえずアカウントを作成したけどまだ使っていないというそこのあなた、使ってみてはいかがでしょうか。