Discord Post Manager

ブログ記事をDiscordコミュニティに投稿するための管理画面です。

機能概要

セットアップ

1. 環境変数の設定

.env ファイルに以下の環境変数を追加してください:

# Discord Webhook URL(必須)
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN

# Adminページのアクセストークン(本番環境での認証用)
ADMIN_TOKEN=your-secret-admin-token

# OpenAI API Key(AI機能を使う場合、任意)
OPENAI_API_KEY=your-openai-api-key

2. Discord Webhookの取得

  1. Discordサーバーで投稿したいチャンネルを選択
  2. チャンネル設定 → 連携サービス → Webhook
  3. 「新しいWebhookを作成」をクリック
  4. 名前を設定し、Webhook URLをコピーして .env に設定

3. アクセス方法

開発環境

http://localhost:4321/admin/discord

本番環境

https://your-domain.com/admin/discord

本番環境では ADMIN_TOKEN による認証が必要です。

使い方

  1. 記事一覧の確認

  2. AIコメントの生成

  3. コメントの編集

  4. Discordへの投稿

  5. フィルタリング

技術仕様

フロントエンド

バックエンド

APIエンドポイント

POST /api/discord/generate-comment

記事情報からDiscord投稿文を生成します。

Request:

{
  "title": "記事タイトル",
  "description": "記事説明",
  "category": "カテゴリー名",
  "tags": ["タグ1", "タグ2"]
}

Response:

{
  "comment": "生成された投稿文"
}

POST /api/discord/send

Discord Webhookに投稿を送信します。

Request:

{
  "content": "投稿本文",
  "embed": {
    "title": "記事タイトル",
    "description": "記事説明",
    "url": "記事URL",
    "color": 0x3B82F6,
    "timestamp": "2025-01-11T..."
  }
}

Response:

{
  "success": true,
  "messageId": "discord_message_id",
  "message": "Discordへの投稿が完了しました"
}

カスタマイズ

AIコメント生成の改善

現在はテンプレートベースの生成ですが、OpenAI APIを設定することでより高度な生成が可能です。

src/pages/api/discord/generate-comment.ts を修正してOpenAI APIを有効化してください。

デザインの調整

セキュリティ

トラブルシューティング

投稿が失敗する場合

  1. Discord Webhook URLが正しいか確認
  2. Webhookの権限設定を確認
  3. 記事のURLが正しいか確認

AI生成がうまくいかない場合

  1. 記事データが正しく取得できているか確認
  2. テンプレートの内容を調整

アクセスできない場合

  1. 開発環境では認証不要
  2. 本番環境では ADMIN_TOKEN の設定とAuthorizationヘッダーが必要