LangBot Docs
Dify

Dify を Discord に接続する

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

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

Dify ではチャットアシスタント、Chatflow、エージェント、ワークフローを作れます。LangBot は公開したアプリを Service API 経由で呼び出すため、プロンプト、ツール、ナレッジは Dify 側で管理できます。

必要なもの

  • 稼働中の LangBot:LangBot Cloud(サーバー不要)、または Docker や uvx langbot によるセルフホスト。
  • LangBot からネットワーク経由で到達できる Dify のアカウントまたはインスタンス。
  • Discord Developer Portal で作成したアプリとボットの Client ID と ボットトークン。Server Members Intent と Message Content Intent を有効にしておきます。

ネットワーク

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

1. Dify を準備する

  1. Dify でチャットアシスタント(Chatflow を含む)、エージェント、ワークフローのいずれかを作成して 公開 します。
  2. アプリの API アクセス ページで API キーを作成します。
  3. ワークフローアプリの場合は、回答を summary というキーで出力します。

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

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

項目設定値
ランナーDify(公式 Dify Agent ランナープラグイン)
Base URLDify Cloud は https://api.dify.ai/v1、セルフホストは自分の Dify アドレスの末尾に /v1
API Keyアプリの API アクセスページで作成したキー

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

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

4. 紐付けてテストする

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

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

トラブルシューティング

  • 同じホストの Docker でセルフホスト版 Dify を動かす場合は、両方を共通の Docker ネットワークに参加させ、localhost ではなくコンテナのアドレス(例:http://dify-nginx/v1)を使います。
  • Chatflow アプリが返すのは回答(Answer)ノードの出力だけです。
  • ゲートウェイへのログインに失敗する場合は、最新のトークンか、2 つの特権インテントが有効で保存済みかを確認します。
  • Discord は 1 メッセージの長さに上限があるため、長いストリーミング返信は複数メッセージに分かれます。
  • WebUI の モニタリング に、すべてのメッセージ、パイプラインの実行、エラーが記録されます。

よくある質問

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

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

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

はい。ボットでストリーミングを有効にし、AI 側もストリーミングに対応している必要があります。詳しくはプラットフォーム機能一覧をご覧ください。

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

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

関連ガイド

On this page