TBD
- python3 のインストール
- pip3 のインストール
- pip を最新バージョンにアップデート
python3 -m pip install --upgrade pip
- pip を最新バージョンにアップデート
- ngrok のインストール
- Emulator 起動
scripts/start_firestore_emulator.sh(Docker があれば docker-compose を使用)
- Emulator を使ってテスト実行
scripts/test_with_emulator.sh
FIRESTORE_PROJECT_ID と FIRESTORE_EMULATOR_HOST は環境変数で上書きできます。
- Rich Menu 画像(2500x1686)を準備
- 既定画像:
scripts/assets/rich_menu_default.png
- 既定画像:
- Rich Menu を作成してデフォルト設定
venv/bin/python scripts/setup_line_rich_menu.py
メニュー割り当て:
- 左上:
一覧 - 中上:
登録 - 右上:
使い方 - 左下:
Web一覧(/stock) - 中下:
アカウント連携 - 右下:
習慣タスク(/habit)
- 仮想環境の作成(必須ではないが推奨)
$ python3 -m venv {仮想環境名}$ source /{仮想環境名}/bin/activate - 依存パッケージのインストール
$ pip3 install -r requirements.txt - LINE Devlopers にてプロバイダ及び messaging API のチャンネルを作っておく
- 参考: https://developers.line.biz/ja/services/messaging-api/
- messaging API 設定にて、応答メッセージを無効, webhook の利用を有効にする
- LINE App にて友達登録しておく
.envファイルにチャンネルトークンとチャンネルシークレットを入力し、コメントアウトを外す$ flask run// localhost:5000 に立ち上がる- ngrok コマンドにて 5000 ポートをデプロイ
$ ngrok http 5000
- デプロイ先の URL の末尾に
/callbackを追加し、LINE bot チャンネルの Webhook URL に設定
$ flask run$ ngrok http 5000- 発行された URL の末尾に
/callbackを追加し、 LINE bot チャンネルの Webhook URL に設定
$ flask runを実行すると、server.pyに書かれた処理が実行される。- その中で
src/__init__.pyの app を取得し、app.run()が呼び出されることでサーバーが起動する。
- bot 宛にメッセージが送信されると、
/callback(LINE bot チャンネルの WebhookURL に基づいたエンドポイント) に POST リクエストが送信される。 - そのリクエストをサーバーが受け取り、
src/views.pyの callback() が実行される。 - handler.handle(body, signature) によりイベントをハンドリングする。
- ハンドリングしたイベントに対応した、
handler.add()によりハンドラーに登録されている関数が実行される