Connpass APIから情報を取得し、LINE上に表示する勉強会検索用のLINEBOT。 LINE Messaging APIの仕様上限である10件までの情報を取得。表示する優先度は更新順。
アカウントを作成する。
チャネル基本設定画面でチャネルシークレットを発行し、Messaging API設定画面でチャネルアクセストークンを発行する。
・.envを作成
$ cp env-example .env
・.envにLINEチャネルキーを設定
︙ LINE_CHANNEL_SECRET = xxxxx LINE_ACCESS_TOKEN = xxxxx
・APP_KEYを作成
$ php artisan key:generate //base64:xxxxx が生成
・ngrokで動作確認
$ ngrok http xxxxx //デフォルトは8080
・Herokuのアカウントを作成し、アプリを新規作成
・Herokuアプリへの環境変数の設定
LINE_CHANNEL_SECRET - xxxxx LINE_ACCESS_TOKEN - xxxxx //SettingsからReveal Config Varsボタン
・Herokuの環境変数にAPP_KEYを設定
$ heroku config:set APP_KEY=base64:xxxxx -a herokuアプリケーション名
・AWSアカウントを作成し、EB CLIのインストール
$ pip install awsebcli --upgrade --user
・EBにデプロイ
$ eb init $ eb deploy
・EBでドキュメントルートの設定
/public //[設定] > [ソフトウェアの更新] > [ドキュメントのルート]
・環境変数の設定
APP_KEY - base64:xxxxx //[設定] > [ソフトウェア設定] > [環境プロパティ]
・Route53でドメインを取得
・Certificate Managerで証明書の生成
・ロードバランサーで設定
・Herokuの場合の設定
https://xxxxx.herokuapp.com/api/meetups //[トップ] > [アカウント名] > [チャネル名] > [Messaging API設定]
・AWSの場合の設定
https://xxxxx/api/meetups
LINEアプリで直接URLを開く。
– Tools –
・PHP 7.3.14
・Laravel 6.16.0
・Docker 19.03.7
・Git 2.21
・AWS Elastic Beanstalk
・Route53
・Certificate Manager
・Identity and Access Management (IAM)
・LINE Messaging API (Flex Message)
・Connpass API
・ngrok
・ngrok
・LINE Messaging API - Flex Message
・EB CLI - 手動インストール
・Elastic Beanstalk - HTTPS 設定