difyのアプリをslackbotとして使いたいと思って作りました。
- go環境を入れてください。
- slack app を作成した後、slackの管理者に問い合わせと許可が必要です。
今回はChatFlowのものになっています。 ワークフローの時はRespponseの時にちょっと変更が入ります。
- Slack APIの管理ページにアクセスし、新しいアプリを作成します。
- Createを選ぶ
- Socket ModeをONにする。名前を入れないとtoken作れない。
- Basic InformationでApp-Level Tokenを作る。これをSLACK_APP_TOKENに設定する。
- OAuth & Permissionsで必要な権限をつけてBOT_USER_OAUTH_TOKENを取得する。これをSLACK_BOT_TOKENに設定する。
- それぞれ.env_exampleをコピーして.envを作成して、tokenを設定する。
- Event SubscriptionでSubscribe to bot eventsを選択して、app_mentionを選択する。
- App HomeでApp Display Name, Bot Nameを設定する。
connections:write authorizations:read
On
app_mentions:read channels:join chat:write
On
- Subscribe to bot events app_mention
go run main.go
で行けます。
2024/09/26時点ではSocket Modeを推奨していたので、それに対応