Discord のサーバーにあるボイスチャンネルに誰かが入室したら、任意の Slack Workspace のチャンネルへ通知を行います。
- Discord の Bot トークンを取得
- Slack の Incoming Webhook URL を取得
.env.default
をコピーして.env
を作りDISCORD_TOKEN
とSLACK_WEBHOOK
を設定npm run dev
を実行
- https://discord.com/developers/applications から任意のアプリケーションを選択
- 左側メニューから
BOT
を選択。開いたページでBuild-A-Bot
の欄にTOKEN
があるのでCopy
ボタンをクリック
クリックで開きます
- https://discord.com/developers/applications > New Application をクリック
NAME
に適当なお名前を記入Create
- 左側メニューから
BOT
を選択。開いたページでAdd Bot
をクリック (ポップアップが出るのでYes, do its!
を選択する) - 左側メニューから
OAuth2
を選択。OAuth2 URL Generator
からbot
にチェックをつける - 下に URL が生成されるのでその URL を開き、自分の Discord サーバに追加してください
master
に push すると自動的にデプロイされます。
- この repository を fork する
- Fly.io のアカウントを作る
- Local PC で flyctl コマンドを使ってアプリの設定を行う(FYI: Hands-on with Fly.io)
$ brew install flyctl
$ flyctl auth login
$ flyctl launch
Creating app in /Users/misato/ghq/github.com/oystersjp/gohan-dekitayo
An existing fly.toml file was found for app gohan-dekitayo
? Would you like to copy its configuration to the new app? Yes
Scanning source code
Detected a Dockerfile app
? Choose an app name (leaving blank will default to 'gohan-dekitayo')
? Select Organization: oysters (oysters)
App will use 'nrt' region as primary
Created app 'gohan-dekitayo' in organization 'oysters'
Admin URL: https://fly.io/apps/gohan-dekitayo
Hostname: gohan-dekitayo.fly.dev
? Would you like to set up a Postgresql database now? No
? Would you like to set up an Upstash Redis database now? No
Wrote config file fly.toml
? Would you like to deploy now? No
Validating /Users/misato/ghq/github.com/oystersjp/gohan-dekitayo/fly.toml
Platform: machines
✓ Configuration is valid
Your app is ready! Deploy with `flyctl deploy`
$ flyctl secrets set DISCODE_TOKEN=<your-discord-token>
$ flyctl secrets set SLACK_WEBHOOK=<your-slack-webhook>
$ flyctl scale count 1 # 通知が二重で届く場合は実行してください
$ flyctl deploy
- 以下のコマンドを実行して、Deploy Token を発行する。この値を fork した repository の GitHub Actions secrets に
FLY_API_TOKEN
として保存する
$ flyctl tokens create deploy -x 999999h | pbcopy
- 変更を
master
へ push し、deploy の github action を実行させる