コンテンツにスキップ

Discord Bot セットアップ手順

1. Discord Bot の作成

ステップ 1: Discord Developer Portal にアクセス

  1. Discord Developer Portal にアクセス
  2. 右上の "New Application" をクリック

ステップ 2: アプリケーションを作成

  1. Name: MyLab Bot(任意の名前)
  2. Create をクリック
  3. 作成されたら、左サイドバーの "Bot" をクリック

ステップ 3: Bot を追加

  1. "Add Bot""Yes, do it!" をクリック
  2. Bot のアイコンや名前をカスタマイズ(オプション)

ステップ 4: Bot Token を取得

  1. "TOKEN" セクションで "Reset Token" をクリック(初回は "Copy" でOK)
  2. Token をコピーして保存(後で使用)
  3. 形式: MTxxxxxxxxxxxxx.xxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxx
  4. ⚠️ この Token は二度と表示されません。必ず保存してください

ステップ 5: 必要な権限を設定

"Privileged Gateway Intents" セクションで以下を有効化: - ✅ MESSAGE CONTENT INTENT(メッセージ内容を読み取る場合)

"Bot Permissions" セクションで以下を選択: - ✅ Send Messages(メッセージ送信) - ✅ Send Messages in Threads(スレッド内送信) - ✅ Attach Files(ファイル添付) - ✅ Read Message History(履歴読み取り) - ✅ Add Reactions(リアクション追加)

2. Bot をサーバーに招待

ステップ 6: OAuth2 URL を生成

  1. 左サイドバーの "OAuth2""URL Generator" をクリック
  2. SCOPES で以下を選択:
  3. bot
  4. BOT PERMISSIONS で以下を選択:
  5. ✅ Send Messages
  6. ✅ Send Messages in Threads
  7. ✅ Attach Files
  8. ✅ Read Message History
  9. ✅ Add Reactions

ステップ 7: Bot を招待

  1. 生成された URL をコピー
  2. ブラウザで URL を開く
  3. Bot を追加したいサーバーを選択
  4. "認証" をクリック

3. Webhook の設定(オプション)

Webhook は Bot Token 不要でメッセージ送信できる簡易的な方法です。

ステップ 8: Webhook を作成

  1. Discord アプリでチャンネルを開く
  2. チャンネル設定(⚙️アイコン)→ "連携サービス""ウェブフック"
  3. "新しいウェブフック" をクリック
  4. 名前を MyLab Bot に変更
  5. "ウェブフックURLをコピー" をクリック
  6. 形式: https://discord.com/api/webhooks/xxxxx/yyyyy

4. 認証情報の保存

パターンA: Bot Token を使う場合(推奨)

Credentials/discord_bot.json を作成:

{
  "bot_token": "MTxxxxxxxxxxxxx.xxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "default_channel_id": "1234567890123456789",
  "guild_id": "9876543210987654321",
  "created_at": "2026-02-07",
  "description": "MyLab Discord Bot - 会話ログ共有用"
}

チャンネルIDの取得方法: 1. Discord設定 → 詳細設定 → "開発者モード" を有効化 2. チャンネルを右クリック → "IDをコピー"

パターンB: Webhook を使う場合(簡易版)

Credentials/discord_webhook.json を作成:

{
  "webhook_url": "https://discord.com/api/webhooks/xxxxx/yyyyy",
  "created_at": "2026-02-07",
  "description": "MyLab Discord Webhook - 会話ログ投稿用"
}

5. 動作確認

スクリプト実装後、以下のコマンドでテスト:

Bot Token の場合

python scripts/conversation/post_to_discord.py --test

Webhook の場合

python scripts/conversation/post_to_discord.py --webhook --test

6. Discord サーバー設定のおすすめ

チャンネル構成例

📁 MYLAB
  ├─ 💬 general(雑談)
  ├─ 📝 claude-logs(会話ログ専用)
  ├─ 🐛 debug-logs(デバッグログ)
  └─ 📊 daily-reports(日次レポート)

ロール設定(オプション)

Bot に専用ロールを付与すると管理しやすい: 1. サーバー設定 → ロール → "ロールを作成" 2. 名前: MyLab Bot 3. 権限: メッセージ送信、ファイル添付など 4. Bot にロールを付与

トラブルシューティング

Bot がメッセージを送信できない

  • Bot がサーバーに招待されているか確認
  • チャンネルの権限設定を確認(Bot にメッセージ送信権限があるか)

"Missing Access" エラー

  • Bot がチャンネルを閲覧できない可能性
  • チャンネル設定 → 権限 → Bot のロールに "チャンネルを見る" 権限を付与

Token が無効

  • Bot Token をコピーし直す
  • Token が MT または MTA で始まっているか確認

Webhook が動作しない

  • Webhook URL が正しいか確認
  • チャンネルが削除されていないか確認

Bot vs Webhook 比較

機能 Bot Token Webhook
メッセージ送信
ファイル送信
スレッド作成
リアクション追加
メッセージ編集 ✅(自分のメッセージのみ)
コマンド受付
メッセージ読み取り
セットアップの簡単さ 普通 簡単

推奨: - Webhook: 単純な通知送信のみの場合 - Bot Token: インタラクティブ機能が欲しい場合(推奨)

参考リンク