LoginSignup
24

More than 5 years have passed since last update.

【基本無料】Azure App ServiceでLINE BOTを簡単に構築

Posted at

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の設定画面を開き「新規作成」をクリック

Screen Shot 2016-04-15 at 5.26.46 PM.png

アプリ名、リソースグループを設定

アプリ名がURLの一部になります。
Screen Shot 2016-04-15 at 5.27.51 PM.png

プランの選択

F1プラン(無料のインスタンスタイプ)を選択
Screen Shot 2016-04-15 at 5.27.06 PM.png

環境変数の設定

LINE Trial Bot Account作成時に割り当てられたChannelID, ChannelSecret, MIDを環境変数に設定します。
Screen Shot 2016-04-15 at 8.52.08 AM.png

Line Bot AccountのWhiteListに設定するIPアドレスの確認

プロパティの「送信IPアドレス」に表示されるIPアドレスを、Line Bot AccountのWhiteListに設定します。
Screen Shot 2016-04-15 at 8.53.02 AM.png

URLの確認

Line Bot Accountのcallback URLに設定するURLを確認します。
Screen Shot 2016-04-15 at 8.54.09 AM.png

PHP アプリケーションの準備

専用のライブラリがあるので、それをcomposerでインストールします。

componser require oh-sky/line-trialbot

オウム返しをするプログラムは下記のように作成できます。
getenvの引数はAzure App Serviceの環境変数設定で入力した環境変数名
にしてください。

index.php
<?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を設定

Screen Shot 2016-04-16 at 4.42.49 PM.png

Server IP Whitelistに設定する値は、Azure App Serviceの送信IPアドレスの第四オクテットを0にして、マスク長を24にすればとりあえず動きます。
Screen Shot 2016-04-16 at 4.44.40 PM.png

以上の設定で、オウム返しBotが動きます。
簡単ですね。
Screen Shot 2016-04-16 at 4.50.09 PM.png

今回使用したライブラリは、テキスト以外にも画像・動画・音声・位置情報・スタンプの送信にも対応しています。
とりあえずアカウントを作成したけどまだ使っていないというそこのあなた、使ってみてはいかがでしょうか。

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
24