Discord → GitHub Issue 自動作成ガイド¶
📁 docs/discord-bot/artifact/discord-issue-integration.md
Discord のリアクションやコメントから GitHub Issue を自動作成する仕組み。
全体像¶
Discord GitHub リポジトリ
│ │ │
├─ 📌 リアクション ──→ Issue作成(知りたい用語)──→ Actions ──→ docs/glossary/*.md
├─ ❤️ リアクション ──→ Issue作成(idea) + Discord通知
├─ 🔧 リアクション ──→ Issue作成(enhancement)
├─ 「知りたい: 〇〇」──→ Issue作成(知りたい用語)
├─ 「改善: 〇〇」────→ Issue作成(enhancement)
└─ ⭐/💡 ─────────→ [Bot投稿のみ] Issue作成([Discord反応] 改善検討)
リアクションで Issue を作成¶
任意のチャンネルのメッセージに絵文字リアクションを付けると、自動で Issue が作成されます。
ユーザーメッセージへのリアクション¶
| リアクション | ラベル | 用途 |
|---|---|---|
| 📌 | 知りたい用語 | 用語を調査したい → 自動で Gemini が調査し Markdown を生成 |
| ❤️ | idea | 気になる話題・アイデアを Issue に残したい |
| 🔧 | enhancement | 改善タスクとして Issue に登録したい |
AI(Bot)投稿へのリアクション — 改善検討 Issue 作成¶
Bot が Discord に投稿したメッセージに ⭐ または 💡 をリアクションすると、 「その投稿内容を元に今の仕組みを改善するか検討する」Issue が自動作成されます。
| リアクション | ラベル | 用途 |
|---|---|---|
| ⭐ | claude-ok, area:dev | Bot の投稿を保存して改善検討 Issue にしたい |
| 💡 | claude-ok, area:dev | Bot の投稿からアイデアを Issue にしたい |
[!NOTE] この機能は Bot が投稿したメッセージのみ 有効です。 ユーザーのメッセージに ⭐/💡 を付けても Issue は作成されません。
動作¶
- Bot(AI)が何かを Discord に投稿する(要約・分析・提案など)
- 投稿内容が参考になると感じたら ⭐ または 💡 をリアクション
- Bot が投稿内容を要約してタイトルを生成:
[Discord反応] {要約} claude-ok,area:devラベル付きの GitHub Issue を作成- Issue 本文に元の投稿全文・メッセージリンク・検討チェックリストを含める
例¶
[Bot の投稿]
「今日のトレンド: Rust で書かれた DB が PostgreSQL より 10 倍速いらしい」
→ ⭐ リアクション
→ Bot: ✅ 改善検討 Issue を作成しました:
[Discord反応] 今日のトレンド: Rust で書かれた DB が PostgreSQL より 10 倍速いらしい
https://github.com/KZ55230/MyLab/issues/XX
設定のカスタマイズ¶
scripts/discord_bot/reaction_config.yaml を編集することで、 コードを変更せずにトリガー絵文字・ラベルを変更できます。
ai_feedback_reactions:
"⭐":
labels: ["claude-ok", "area:dev"]
title_prefix: "[Discord反応]"
"💡":
labels: ["claude-ok", "area:dev"]
title_prefix: "[Discord反応]"
動作¶
- メッセージに上記の絵文字をリアクション
- Bot がメッセージからタイトルを抽出:
- Bot の用語調査 embed → embed タイトルから用語名を取得
- 通常メッセージ → 1行目をタイトルとして使用
- GitHub Issue を作成(元メッセージの内容が本文に含まれる)
- Bot が確認メッセージを返す
例¶
[Discord メッセージ]
「Kubernetes ってコンテナオーケストレーションツールらしい」
→ 📌 リアクション
→ Bot: ✅ Issue を作成しました: 知りたい用語: Kubernetes ってコンテナオーケストレーションツールらしい
https://github.com/KZ55230/MyLab/issues/XX
コメントで Issue を作成¶
特定のキーワードで始まるメッセージを投稿すると Issue が作成されます。
| パターン | ラベル | 例 |
|---|---|---|
知りたい: 〇〇 | 知りたい用語 | 知りたい: WebAssembly |
改善: 〇〇 | enhancement | 改善: Bot のレスポンス速度を上げたい |
※ : は全角 : でもOK
「知りたい用語」の自動調査フロー¶
📌 リアクションや「知りたい: 〇〇」で Issue が作成されると、以下が自動実行されます:
- Issue に「知りたい用語」ラベルが付く
- GitHub Actions が自動起動
- Gemini API (Flash) で用語を調査
docs/glossary/<用語名>.mdとしてコミット- Issue にコメントで完了通知 → 自動クローズ
- Discord #it-knowledge に調査結果を全文投稿
重複チェック¶
同じタイトルの open Issue が既にある場合、新しい Issue は作成されません。 Bot は「ℹ️ 既に Issue に登録済みです」と通知します。
Issue の本文¶
リアクション/コメントで作成された Issue には、元の Discord メッセージのコンテキストが記録されます:
> Discord #it-knowledge からの投稿
> 投稿者: kazuma
> 日時: 2026-03-05 08:30 UTC
## 元メッセージ
Kubernetes ってコンテナオーケストレーションツールらしい
セットアップ¶
前提条件¶
- MyLabBot が起動していること(
scripts/discord_bot/start_bot.bat) - GitHub PAT が
Credentials/github_pat.jsonに設定済み - Gemini API キーが GitHub Secrets に
GEMINI_API_KEYとして登録済み - Discord Webhook が GitHub Secrets に
DISCORD_WEBHOOK_IT_KNOWLEDGEとして登録済み
Bot の起動¶
Bot に必要な権限(Discord Developer Portal)¶
- Privileged Gateway Intents: Message Content Intent, Server Members Intent
- Bot Permissions: Read Messages, Send Messages, Read Message History, Add Reactions
関連ファイル¶
| ファイル | 役割 |
|---|---|
scripts/discord_bot/bot.py | Bot 本体(リアクション/コメント監視) |
.github/workflows/glossary-research.yml | 用語調査ワークフロー |
scripts/glossary/research_term.py | Gemini API 調査スクリプト |
scripts/glossary/notify_discord.py | Discord 通知スクリプト |
docs/glossary/ | 調査結果の保存先 |
docs/glossary/README.md | 用語調査システムのマニュアル |