🐳 アキシマエンシス(昭島市教育福祉総合センター)における学習室の空席状況を調べることができるLINE Bot
使用しているデータは昭島市民図書館の公式サイトから取得したものです。当該プログラムはこのサイトのHTMLに依存しているためサイトの仕様が変更された場合、正常に動かなくなる可能性があります。
${学習室名}には学習席(有線LAN有)
、学習席
、研究個室
、インターネット・DB席
、グループ学習室
、ティーンズ学習室
のいずれかが入ります。空席通知予約は予約から1時間以内に空席ができなかった場合、閉館時間になった場合自動的にキャンセルされます。通常はリッチメニューから{学習室名}をタッチするだけで入力できるためキーボードを使った入力は不要です。
input > ${学習室名}
output > 入力された学習室の空席状況を出力します。
input > ${学習室名} 予約
output > 学習室が満席だった場合、空席ができたら通知を行う予約を行います。
input > ${学習室名} 新規予約
output > 既に空席通知予約が行われていた場合その予約をキャンセルして新規に予約を行います。
クライアントから受け取ったメッセージから学習室名を抽出、受け取った学習室名の空席状況をCloudFirestoreから取得、返信用のメッセージを生成しクライアントに返すというスクリプトです。このスクリプトはAppEngineにホスティングされています。
# 当該リポジトリのクローン
git clone https://github.com/akishima-ensis/seat-availability-check-linebot
# ディレクトリに移動
cd seat-availability-check-linebot
# pipenv のインストール
pip install pipenv
# プロジェクトルートに仮想環境を作成させる
export PIPENV_VENV_IN_PROJECT=1
# 仮想環境の作成
pipenv instal --dev
# 仮想環境に入る
pipenv shell
# サーバーの起動
python3 app.py