YouTubeの配信通知をSlackに流すbotです。
次の場合に通知されます。
Slack上でbotに対してリプライを送ることで、設定を変更できます。
@bot list
@bot add https://www.youtube.com/channel/...
@bot delete https://www.youtube.com/channel/...
https://pre-commit.com/ の手順に従って pre-commit
をインストールします。
これにより、.pre-commit-config.yamlの設定に基づいて、コミット時にクレデンシャルが含まれていないかの検査が行われるようになります。
実行に必要なパッケージをインストールします。
npm install
スタックのデプロイで使用するS3バケットを作成します。
cdk bootstrap
youtube_streaming_watcher_slack
: 配信通知関連 (Slack)
slack_bot_token
: Slackのbotトークンslack_signing_secret
: SlackのSigning Secretslack_channel
: 通知先のチャンネル名youtube_streaming_watcher_slack_alert
: Lambda関数のアラート関連 (Slack)
workspace_id
: 通知先のワークスペースIDchannel_id
: 通知先のチャンネルIDyoutube_streaming_watcher_twitter
: 配信通知関連 (Twitter)
twitter_bearer_token
: ベアラートークンyoutube_streaming_watcher_youtube
: 配信通知関連 (YouTube)
youtube_api_key
: YouTube Data API用のAPIキーyoutube_streaming_watcher_email
: コスト通知関連 (メール)
email
: コスト通知用メールアドレスus-east-1
youtube_streaming_watcher_email
: コスト通知関連 (メール)
email
: コスト通知用メールアドレススタックをデプロイします。
なお、リポジトリが dev-hato/youtube_streaming_watcher
以外の場合は環境変数 REPOSITORY=org/repository
をセットした状態で実行します。
cdk deploy
次回以降デプロイするときは youtube_streaming_watcher_cdk_deploy
Roleを使用します。
また、スタックの差分を見るときは youtube_streaming_watcher_cdk_diff
Roleで cdk diff
を実行します。
.env
ファイルを作成し、APIのトークンや通知先のSlackチャンネルをセットします。
.env.example
をコピーして使うとよいでしょう。
Dockerコンテナを立ち上げます。
Dockerイメージのビルドに失敗する場合はDockerに割り当てるメモリを増やしてみてください (5GB程度割り当てれば足りるはずです)。
TAG_NAME=$(git symbolic-ref --short HEAD | sed -e "s:/:-:g" | sed -e "s/^main$/latest/g") docker compose up
次のRepository secretsを設定します。
AWS_ACCOUNT
: AWSアカウントIDAWS_REGION
: AWSのリージョン次の2つのバージョンを使用できるようにしていますが、基本的には後者を前提として開発しています。
dependabotで使用しているバージョンに準拠しています。