LoginSignup
6

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-12-08

準備

  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

試す

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

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
6