Spotify 新着リリースを巡回 & 通知くん
- sbt
- Docker
- MariaDB
DB_HOST="localhost"
DB_PORT="3306"
DB_NAME="samoyed"
DB_USER="root"
DB_PASSWORD="password"
db/migrate.sh $DB_HOST $DB_PORT $DB_NAME $DB_USER $DB_PASSWORD
src/main/resources/reference.conf
を参照。
DBの立ち上げとFlywayによるマイグレーションが行われる。
docker compose up -d
UseCaseのひな形を生成する。
sbt "codegen/runMain samoyed.codegen.SamoyedCodeGenMain --usecase-name UseCaseName"
Commandのひな形を生成する。
sbt "codegen/runMain samoyed.codegen.SamoyedCodeGenMain --command-name CommandName"
Daemonのひな形を生成する。
sbt "codegen/runMain samoyed.codegen.SamoyedCodeGenMain --daemon-name ScheduleArtistAlbumFetch"
oauth2c での取得例を以下に示す。
CLIENT_ID=here
CLIENT_SECRET=here
oauth2c https://accounts.spotify.com \
--client-id $CLIENT_ID \
--client-secret $CLIENT_SECRET \
--redirect-url http://localhost:8080/callback \
--response-types code \
--response-mode query \
--scopes user-follow-read \
--grant-type authorization_code \
--auth-method client_secret_basic
ACCESS_TOKEN=here
# フォロー中アーティストを巡回対象のアーティストとして取り込む
sbt "batch/runMain samoyed.batch.SamoyedBatchMain import-followed-artist --access-token $ACCESS_TOKEN"
# デーモンでは以下の処理を行う
# ・ 巡回スケジュールを作成
# ・ アーティストの新着リリースを巡回
# ・ 新着リリースの詳細情報を取得
# ・ 通知作成
# ・ 通知送信
sbt "daemon/runMain samoyed.daemon.SamoyedDaemonMain"