コンテンツにスキップ

Discord → GitHub Issue 自動作成ガイド

Discord のリアクションやコメントから GitHub Issue を自動作成する仕組み。

全体像

Discord                        GitHub                        リポジトリ
  │                              │                              │
  ├─ 📌 リアクション ──→ Issue作成(知りたい用語)──→ Actions ──→ docs/glossary/*.md
  ├─ ❤️ リアクション ──→ Issue作成(idea)                       + Discord通知
  ├─ 🔧 リアクション ──→ Issue作成(enhancement)
  ├─ 「知りたい: 〇〇」──→ Issue作成(知りたい用語)
  └─ 「改善: 〇〇」────→ Issue作成(enhancement)

リアクションで Issue を作成

任意のチャンネルのメッセージに絵文字リアクションを付けると、自動で Issue が作成されます。

リアクション ラベル 用途
📌 知りたい用語 用語を調査したい → 自動で Gemini が調査し Markdown を生成
❤️ idea 気になる話題・アイデアを Issue に残したい
🔧 enhancement 改善タスクとして Issue に登録したい

動作

  1. メッセージに上記の絵文字をリアクション
  2. Bot がメッセージからタイトルを抽出:
  3. Bot の用語調査 embed → embed タイトルから用語名を取得
  4. 通常メッセージ → 1行目をタイトルとして使用
  5. GitHub Issue を作成(元メッセージの内容が本文に含まれる)
  6. Bot が確認メッセージを返す

[Discord メッセージ]
「Kubernetes ってコンテナオーケストレーションツールらしい」

→ 📌 リアクション

→ Bot: ✅ Issue を作成しました: 知りたい用語: Kubernetes ってコンテナオーケストレーションツールらしい
       https://github.com/KZ55230/MyLab/issues/XX

コメントで Issue を作成

特定のキーワードで始まるメッセージを投稿すると Issue が作成されます。

パターン ラベル
知りたい: 〇〇 知りたい用語 知りたい: WebAssembly
改善: 〇〇 enhancement 改善: Bot のレスポンス速度を上げたい

: は全角 でもOK

「知りたい用語」の自動調査フロー

📌 リアクションや「知りたい: 〇〇」で Issue が作成されると、以下が自動実行されます:

  1. Issue に「知りたい用語」ラベルが付く
  2. GitHub Actions が自動起動
  3. Gemini API (Flash) で用語を調査
  4. docs/glossary/<用語名>.md としてコミット
  5. Issue にコメントで完了通知 → 自動クローズ
  6. 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 の起動

# Windows
scripts\discord_bot\start_bot.bat

# または直接
cd scripts/discord_bot
python bot.py

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 用語調査システムのマニュアル