Twitter上の #リングフィットアドベンチャー の画像を収集し、順位を呟くbotです
https://twitter.com/RingFitRanker で運営中
現在、サーバレス版の開発も行っています。
- アカウントをフォローしたうえで、#リングフィットアドベンチャー タグを付けて運動結果をツイートすると、順位をリプライします。
- 毎日4時に順位を集計し、12時頃に消費カロリー数ランキング Top10を画像で呟きます。
- https://ringfit.work から、全員分の順位が見れます。
- 過去の日付の順位を見ることも可能です。ページネーションに対応しています。
- https://ringfit.work/#/user/ から、Twitterの@ユーザ名を入力することで、いままでの運動記録と、消費カロリーのグラフを見ることができます。
dockerServerディレクトリ上で、docker-compose build
およびdocker-compose up
を行うことで、サーバ側の環境が構築されます。
dockerServerディレクトリには、.envファイルを以下のように設定し、置いてください。
DOMAIN_NAME=APIアクセス時のドメイン名
STAGE=HTTPS-PORTALにおけるステージ
TWITTER_ID=RingFitRanker(呟くアカウントのTwitter_ID)
CONSUMER_KEY=ここに
CONSUMER_SECRET=Twitterの
ACCESS_TOKEN=Tokenを
ACCESS_TOKEN_SECRET=いれる
SENTRY_DSN=エラー監視ツール "Sentry" のDSN
DATABASE_DIR=運動記録を保存するデータベースを保存するディレクトリ
DATABASE_NAME=データベースの名前
RANKING_FONT=ランキング画像のユーザ名に用いるフォント
KCAL_FONT=ランキング画像の消費カロリーに用いるフォント
dockerServer/twitter_bot/tweet_bot_cron.py は、#リングフィットアドベンチャー の画像を検索・集計し、順位をリプライします。cronにより、5分に一回実行されます。
dockerServer/twitter_bot/ranking_bot_cron.py は、前日4時から当日3時59分59秒までのランキングベスト10をツイートします。cronにより、毎日正午に実行されます。
dockerServer/fast_api/main.py は、FastAPIにより作られたサーバサイドアプリケーションです。消費カロリーの順位などを取得できる、APIが実装されています。
vuejs_frontend ディレクトリは、Vue Routerにより作成されたSPAのプロジェクトです。FastAPIで作成したAPIにアクセスすることで動作します。