- 指定の slack チャンネルを別のチャンネルに転送してくれる SlackApp
- git clone
- slack api から slackApp を作る
- 以下のスコープを OAuth & Permissions より選択
- bot
- channels:history
- channels:read
- chat:write
- files:read
- im:history
- incoming-webhook
- users.profile:read
- users:read
- users:read:email
- eam:read
- user
- chat:write
- links:read
- links:write
- files:write
- bot
$cp .env.example .env- .env 項目
SLACK_WORKSPACEに slack のワークスペース名CHANNEL_NAMEに転送先の slack チャンネル名PORTにリスニングしたい番号(入れなければデフォルトでは 3000)- Basic information
Signing SecretをSLACK_SIGNING_SECRET
- OAuth & Permission
OAuth Access TokenをSLACK_OAUTH_TOKENBot User OAuth Access TokenをSLACK_SIGNING_SECRET
- .env 項目
- ローカルで以下を実施
$ yarn|$ npm ingrokを Homebrew でインストール(入ってない方のみ)$ ngrok http ${n}でポート番号指定して ngrok を立ち上げる- CLI に出てきた URL を slackApp の InteractiveComponents に貼り付け
- slackApp で以下を設定
- Interactive Components
- RequestURL に ngrok の URL を貼り付け
- Event Subscriptions
- RequestURL に
${ngrokのURL}/slack/eventsを貼り付け - Subscribe to bot events に 以下を選択し追加
- message.channels
- message.im
- RequestURL に
- Interactive Components
ngrokはセッションが切れたら都度再起動し slackApp の RequestURL を新規 URL で更新
任意の位置にブレークポイントを設定後、デバッガからAttach to Boltを実行。
$npm run dev:watchで本アプリをデバッグ実行。
VSCode で Bolt for TypeScript をホットリロード+デバッグ実行させてみよう
- heroku の pipeline を使用