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 を実行させる