# Coze を Discord に接続する

Source: https://langbot.app/docs/ja/recipes/coze/discord

LangBot で Coze アプリを Discord のボットとして動かす手順：Coze の設定、ボットの認証情報、ネットワーク、テスト、トラブルシューティング。

このレシピではお使いの Coze アプリを Discord のボットにつなぎます。LangBot が Discord のメッセージを受け取り、パイプラインで処理して返信するので、プラットフォーム連携のコードは不要です。

Coze ではエージェントをビジュアルに作れます。LangBot は Coze API で Coze ボットを呼び出すため、Coze が直接公開できないプラットフォームにも同じボットを展開できます。

## 必要なもの

- 稼働中の LangBot：[LangBot Cloud](https://space.langbot.app/cloud)（サーバー不要）、または Docker や `uvx langbot` による[セルフホスト](https://langbot.app/docs/ja/deploy/langbot/docker.md)。
- LangBot からネットワーク経由で到達できる Coze のアカウントまたはインスタンス。
- [Discord Developer Portal](https://discord.com/developers/applications) で作成したアプリとボットの **Client ID** と **ボットトークン**。**Server Members Intent** と **Message Content Intent** を有効にしておきます。

## ネットワーク

Discord ボットは Discord ゲートウェイへ外向きに接続するため、公開 Webhook URL は不要です。

## 1. Coze を準備する

1. Coze の開発者コンソールの **API 管理** でトークンを作成します（coze.com は個人アクセストークン、coze.cn はサービス資格情報にも対応）。
2. 公開時に **API** チャネルを選んでエージェントを公開し、`bot_id` を控えます。

## 2. パイプラインを作成する

LangBot WebUI の **パイプライン** でパイプラインを作成（または既定のものを編集）し、**AI** を次のように設定します。ランナーが一覧にない場合は、**プラグイン** または [LangBot Space マーケット](https://space.langbot.app/market) から公式ランナープラグインをインストールします。

| 項目           | 設定値                                                               |
| ------------ | ----------------------------------------------------------------- |
| ランナー         | **Coze**（公式 Coze Agent ランナープラグイン）                                 |
| API Key      | Coze のトークン                                                        |
| Bot ID       | エージェントの `bot_id`                                                  |
| API Base URL | coze.cn は `https://api.coze.cn`、coze.com は `https://api.coze.com` |

## 3. Discord のボットを作成する

1. **Discord** アダプターでボットを作成し、Client ID とトークンを入力します。
2. **OAuth2 → URL Generator** で `bot` スコープと **Guild Install** を選び、チャンネル閲覧とメッセージ送信の権限を付けてサーバーに招待します。

## 4. 紐付けてテストする

ボットを開いて作成したパイプラインを選び、保存してボットが有効になっていることを確認します。

サーバーのチャンネルでトリガー条件に合うメッセージを送り、続いてボットのプロフィールから DM も試します。

## トラブルシューティング

- 呼び出しに失敗する場合は、トークンと `bot_id` に余分な空白がないか、API チャネルで公開したか、Base URL が利用サイトと一致しているかを確認します。
- ゲートウェイへのログインに失敗する場合は、最新のトークンか、2 つの特権インテントが有効で保存済みかを確認します。
- Discord は 1 メッセージの長さに上限があるため、長いストリーミング返信は複数メッセージに分かれます。
- WebUI の **モニタリング** に、すべてのメッセージ、パイプラインの実行、エラーが記録されます。

## よくある質問

### Discord には公開 IP のあるサーバーが必要ですか？

いいえ。Discord ボットは Discord ゲートウェイへ外向きに接続するため、公開 Webhook URL は不要です。

### Discord のボットはストリーミング返信に対応していますか？

はい。ボットでストリーミングを有効にし、AI 側もストリーミングに対応している必要があります。詳しくは[プラットフォーム機能一覧](https://langbot.app/docs/ja/insight/platform-features.md)をご覧ください。

### 同じ Coze の設定を他のプラットフォームでも使えますか？

はい。1 つのパイプラインを複数のボットに紐付けられるので、同じ設定で複数のプラットフォームに同時に応答できます。

## 関連ガイド

- [Discord の詳しい設定ガイド](https://langbot.app/docs/ja/usage/platforms/discord.md)
- [Coze ランナーの詳しいガイド](https://langbot.app/docs/ja/usage/pipelines/coze.md)
- Discord で使える他の AI：[Dify](https://langbot.app/docs/ja/recipes/dify/discord.md) · [n8n](https://langbot.app/docs/ja/recipes/n8n/discord.md) · [Langflow](https://langbot.app/docs/ja/recipes/langflow/discord.md) · [DeepSeek](https://langbot.app/docs/ja/recipes/deepseek/discord.md) · [OpenAI (ChatGPT models)](https://langbot.app/docs/ja/recipes/openai/discord.md)
- Coze を他のプラットフォームで使う：[Telegram](https://langbot.app/docs/ja/recipes/coze/telegram.md) · [Slack](https://langbot.app/docs/ja/recipes/coze/slack.md) · [Lark（Feishu）](https://langbot.app/docs/ja/recipes/coze/lark.md) · [DingTalk](https://langbot.app/docs/ja/recipes/coze/dingtalk.md) · [WeCom（社内アプリ）](https://langbot.app/docs/ja/recipes/coze/wecom.md) · [WeCom インテリジェントボット](https://langbot.app/docs/ja/recipes/coze/wecombot.md)
