準備
- homebrew をインストールする(brew updateしておこう)
- heroku のアカウントを作成する
- linebot のアカウントを作成する
- herkou cli をインストールする =>
$ brew install heroku
- php をインストールする =>
$ brew install homebrew/php/php71
- 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 の設定
- ここにアクセスする。
- 「アカウントリスト」>「ビジネスアカウントを作成する」>「MessageAPIを始める」でアカウントを作成する
- 「アカウントリスト」から「LINE@MANAGER」にアクセスする
- 「LINE@MANAGER」の左にある「アカウント設定」>「Bot設定」で「APIを使用する」を有効にする
- 「Bot設定」の「リクエスト設定」で「webhook送信」を利用するに変更する
- 続けて「詳細設定」の「自動応答メッセージ」を利用しないに設定する
- 「保存」ボタンを押して、設定を保存する
- 再度ここの「アカウントリスト」から「 LINE Developers」を開く
- 「QR Code」で自分のLINEアカウントのともだちにアプリを追加する
- 「EDIT」ボタンを押し編集画面で、「Webhook URL」に先ほどメモったURLを入力し、「SAVE」する
- 「Channel Secret」と「Channel Access Token」をメモる(表示されていない場合は「ISSUE」を押す)
heroku 環境変数設定
$ heroku config:set CHANNEL_SECRET=メモったChannel Secret
$ heroku config:set CHANNEL_ACCESS_TOKEN=メモったChannel Access Token
試す
自分のスマホから追加したアプリにメッセージを送信してみて、オウム返しが帰ってきたら成功です