PHP
Mac
Heroku
linebot

herokuとphpでオウム返しlinebotを作る(Mac限定)

More than 1 year has passed since last update.


準備


  1. homebrew をインストールする(brew updateしておこう)

  2. heroku のアカウントを作成する

  3. linebot のアカウントを作成する

  4. herkou cli をインストールする => $ brew install heroku

  5. php をインストールする => $ brew install homebrew/php/php71

  6. composer をインストールする => $ brew install homebrew/php/composer

以下のコマンドを自分のマシンで入力して、バージョンが表示されるか確認する

$ heroku version
$ php -v
$ composer -V

herokuにログインしておく
$ heroku login


プロジェクトを作成する

以下のコマンドを実行する

$ mkdir sample-bot

$ cd sample-bot
$ touch composer.json && echo {} > composer.json
$ composer require linecorp/line-bot-sdk
$ vi index.php


index.php

<?php

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

$httpClient = new \LINE\LINEBot\HTTPClient\CurlHTTPClient(getenv('CHANNEL_ACCESS_TOKEN'));
$bot = new \LINE\LINEBot($httpClient, ['channelSecret' => getenv('CHANNEL_SECRET')]);
$sign = $_SERVER["HTTP_" . \LINE\LINEBot\Constant\HTTPHeader::LINE_SIGNATURE];
$events = $bot->parseEventRequest(file_get_contents('php://input'), $sign);

foreach ($events as $event) {
if (!($event instanceof \LINE\LINEBot\Event\MessageEvent) ||
!($event instanceof \LINE\LINEBot\Event\MessageEvent\TextMessage)) {
continue;
}
$bot->replyText($event->getReplyToken(), $event->getText());
}


$ git init

$ git add .
$ git commit -m "Initial commit sample-bot"

以下のコマンド後に表示されるURLをhttps://**********.herokuapp.com/をメモる
$ heroku create

$ git push heroku master


linebot の設定



  1. ここにアクセスする。

  2. 「アカウントリスト」>「ビジネスアカウントを作成する」>「MessageAPIを始める」でアカウントを作成する

  3. 「アカウントリスト」から「LINE@MANAGER」にアクセスする

  4. 「LINE@MANAGER」の左にある「アカウント設定」>「Bot設定」で「APIを使用する」を有効にする

  5. 「Bot設定」の「リクエスト設定」で「webhook送信」を利用するに変更する

  6. 続けて「詳細設定」の「自動応答メッセージ」を利用しないに設定する

  7. 「保存」ボタンを押して、設定を保存する

  8. 再度ここの「アカウントリスト」から「 LINE Developers」を開く

  9. 「QR Code」で自分のLINEアカウントのともだちにアプリを追加する

  10. 「EDIT」ボタンを押し編集画面で、「Webhook URL」に先ほどメモったURLを入力し、「SAVE」する

  11. 「Channel Secret」と「Channel Access Token」をメモる(表示されていない場合は「ISSUE」を押す)


heroku 環境変数設定

$ heroku config:set CHANNEL_SECRET=メモったChannel Secret

$ heroku config:set CHANNEL_ACCESS_TOKEN=メモったChannel Access Token


試す

自分のスマホから追加したアプリにメッセージを送信してみて、オウム返しが帰ってきたら成功です