Slackのスレッド内容をAIでインフォグラフィック画像に変換するBotです。
スレッド内でBotをメンションするだけで、会話の内容を1枚のわかりやすい画像にまとめてくれます。
- Googleアカウント
- Slackワークスペースの管理者権限(またはアプリを追加できる権限)
- Gemini APIキー(無料で取得可能)
- Slack API にアクセス
- 右上の「Create New App」をクリック
- 「From scratch」を選択
- App Name に好きな名前を入力(例:
banana-bot) - ワークスペースを選択して「Create App」をクリック
- 左メニューから「OAuth & Permissions」を選択
- 「Scopes」セクションまでスクロール
- 「Bot Token Scopes」の「Add an OAuth Scope」をクリック
- 以下の4つのスコープを追加:
app_mentions:read- メンションを受け取るためchat:write- メッセージを送信するためchannels:history- パブリックチャンネルのスレッドを読むためfiles:write- 画像をアップロードするため
- 左メニューから「OAuth & Permissions」を選択
- ページ上部の「Install to Workspace」をクリック
- 権限を確認して「許可する」をクリック
- 表示される「Bot User OAuth Token」(
xoxb-で始まる)をコピーして保存
- 左メニューから「Basic Information」を選択
- 「App Credentials」セクションの「Verification Token」をコピーして保存
- Google AI Studio にアクセス
- Googleアカウントでログイン
- 左メニューから「Get API key」をクリック
- 「Create API key」をクリック
- プロジェクトを選択(または新規作成)
- 生成されたAPIキーをコピーして保存
- Google Apps Script にアクセス
- 「新しいプロジェクト」をクリック
- 左上の「無題のプロジェクト」をクリックして、名前を変更(例:
slack-banana)
- 最初から入っている
function myFunction() {}を全て削除 - このリポジトリの
Code.gsの内容を全てコピーして貼り付け Ctrl + S(Mac:Cmd + S)で保存
- 左メニューの歯車アイコン「プロジェクトの設定」をクリック
- 「スクリプト プロパティ」セクションまでスクロール
- 「スクリプト プロパティを追加」をクリックして、以下の3つを追加:
| プロパティ | 値 |
|---|---|
SLACK_BOT_TOKEN |
Step 1-3 で取得した xoxb-... から始まるトークン |
SLACK_VERIFICATION_TOKEN |
Step 1-4 で取得した Verification Token |
GEMINI_API_KEY |
Step 2 で取得した Gemini API キー |
- 「スクリプト プロパティを保存」をクリック
- 右上の「デプロイ」ボタンをクリック
- 「新しいデプロイ」を選択
- 「種類の選択」の歯車アイコンをクリックし、「ウェブアプリ」を選択
- 以下のように設定:
- 説明: 任意(例:
初回デプロイ) - 次のユーザーとして実行: 「自分」
- アクセスできるユーザー: 「全員」
- 説明: 任意(例:
- 「デプロイ」をクリック
- 「アクセスを承認」をクリックし、Googleアカウントで認証
- 表示される「ウェブアプリ」のURLをコピー
- Slack API に戻り、作成したアプリを選択
- 左メニューから「Event Subscriptions」を選択
- 「Enable Events」を「On」に切り替え
- 「Request URL」に、Step 4-1 でコピーしたURLを貼り付け
- 緑色のチェックマーク「Verified」が表示されるのを確認
- 「Subscribe to bot events」の「Add Bot User Event」をクリック
app_mentionを追加- ページ下部の「Save Changes」をクリック
- Slackで、Botを使いたいチャンネルを開く
- チャンネル名をクリックして設定を開く
- 「インテグレーション」タブを選択
- 「アプリを追加する」をクリック
- 作成したアプリ(例:
banana-bot)を追加
- Slackでスレッド(会話)を開く
- スレッド内で
@banana-bot(作成したBot名)をメンション - 数秒待つと、スレッドの内容をまとめたインフォグラフィック画像が投稿される
- プライベートチャンネル: プライベートチャンネルで使う場合は、追加のスコープ
groups:historyが必要です。Step 1-2 で追加してください。 - API制限: Gemini APIには無料枠があります。大量に使用する場合は 料金ページ を確認してください。
- 画像生成の時間: 画像生成には数秒〜十数秒かかることがあります。
- Slackのリトライ: 画像生成中にSlackがリクエストをリトライすることがありますが、重複処理は防止されているため正常に動作します。
- URLが正しくコピーされているか確認
- Google Apps Script のデプロイで「アクセスできるユーザー」が「全員」になっているか確認
- Botがチャンネルに招待されているか確認
- Event Subscriptions で
app_mentionが追加されているか確認 - スクリプトプロパティが正しく設定されているか確認
- Gemini API キーが正しいか確認
- Slack Bot Token が正しいか確認
- Google Apps Script の「実行数」で詳細なエラーログを確認
MIT License
