OpenAI (ChatGPT models)
OpenAI (ChatGPT models) で Discord の AI ボットを作る
LangBot で OpenAI (ChatGPT models) を使った Discord の AI ボットを動かす手順:モデル設定、ボットの認証情報、ネットワーク、テスト、トラブルシューティング。
このレシピでは OpenAI (ChatGPT models) のモデルを Discord のボットにつなぎます。LangBot が Discord のメッセージを受け取り、パイプラインで処理して返信するので、プラットフォーム連携のコードは不要です。
LangBot の内蔵エージェントで OpenAI の GPT モデルを使います。ナレッジベース、MCP ツール、Skills、コードサンドボックスも追加できます。
必要なもの
- 稼働中の LangBot:LangBot Cloud(サーバー不要)、または Docker や
uvx langbotによるセルフホスト。 - LangBot から呼び出せる OpenAI (ChatGPT models) のアカウントまたはサーバー。
- Discord Developer Portal で作成したアプリとボットの Client ID と ボットトークン。Server Members Intent と Message Content Intent を有効にしておきます。
ネットワーク
Discord ボットは Discord ゲートウェイへ外向きに接続するため、公開 Webhook URL は不要です。
1. OpenAI (ChatGPT models) のモデルを追加する
- OpenAI のコンソールで API キーを作成します。
- LangBot の モデル で LLM モデルを追加し、プロバイダーに OpenAI、リクエスト URL に
https://api.openai.com/v1を指定して、API キーとモデル ID を入力します。 - モデルが関数呼び出しに対応していれば ツール使用 を有効にします。MCP ツール、Skills、サンドボックスに必要です。
- モデル ID は OpenAI のモデル一覧にある現行のものを使います。OpenAI 互換のエンドポイントも同じ手順で、それぞれのリクエスト URL を指定します。
2. パイプラインを作成する
LangBot WebUI の パイプライン でパイプラインを作成(または既定のものを編集)し、AI を次のように設定します。
| 項目 | 設定値 |
|---|---|
| ランナー | Local Agent(内蔵エージェント) |
| モデル | 追加したモデル。予備モデルも指定できます。 |
| プロンプト | ボットの役割、口調、してはいけないこと。 |
| ナレッジベース | 任意。ナレッジベースを付けると資料に基づいて回答します。 |
3. Discord のボットを作成する
- Discord アダプターでボットを作成し、Client ID とトークンを入力します。
- OAuth2 → URL Generator で
botスコープと Guild Install を選び、チャンネル閲覧とメッセージ送信の権限を付けてサーバーに招待します。
4. 紐付けてテストする
ボットを開いて作成したパイプラインを選び、保存してボットが有効になっていることを確認します。
サーバーのチャンネルでトリガー条件に合うメッセージを送り、続いてボットのプロフィールから DM も試します。
トラブルシューティング
- ネットワークや地域のエラーは、LangBot からリクエスト URL に到達できないことが原因です。制限のある環境では到達可能な互換ゲートウェイを使います。
- ゲートウェイへのログインに失敗する場合は、最新のトークンか、2 つの特権インテントが有効で保存済みかを確認します。
- Discord は 1 メッセージの長さに上限があるため、長いストリーミング返信は複数メッセージに分かれます。
- WebUI の モニタリング に、すべてのメッセージ、パイプラインの実行、エラーが記録されます。
よくある質問
Discord には公開 IP のあるサーバーが必要ですか?
いいえ。Discord ボットは Discord ゲートウェイへ外向きに接続するため、公開 Webhook URL は不要です。
Discord のボットはストリーミング返信に対応していますか?
はい。ボットでストリーミングを有効にし、AI 側もストリーミングに対応している必要があります。詳しくはプラットフォーム機能一覧をご覧ください。
同じ OpenAI (ChatGPT models) の設定を他のプラットフォームでも使えますか?
はい。1 つのパイプラインを複数のボットに紐付けられるので、同じ設定で複数のプラットフォームに同時に応答できます。
関連ガイド
- Discord の詳しい設定ガイド
- モデルの設定
- Discord で使える他の AI:Dify · n8n · Coze · Langflow · DeepSeek
- OpenAI (ChatGPT models) を他のプラットフォームで使う:Telegram · Slack · Lark(Feishu) · DingTalk · WeCom(社内アプリ) · WeCom インテリジェントボット
