> ## Documentation Index
> Fetch the complete documentation index at: https://cogno.studio/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# DiscordをCognoに連携する

> Discordサーバーを連携すると、Cognoがそのメッセージをワークスペースのコンテキストとして読み取り、提案taskに変えます。

![Discord](https://mintcdn.com/genaxis/oMT3YnoHFDqPiaPK/images/integrations/discord.svg?fit=max\&auto=format\&n=oMT3YnoHFDqPiaPK\&q=85\&s=235fc4f16c1ca9fa31bcb0efde97b067)

> [!NOTE]
>
> **ベータ版。** この連携は利用できますが、メッセージからのタスク・コンテキスト抽出の精度はまだ検証できていません。粗さが残る前提でお使いいただき、気づいた点をお知らせください。

## 概要

| | |
| - | - |
| **方向** | 双方向 — Cognoは1つのDiscordサーバーのメッセージを読み取り、Projectが選んだチャンネルにはエージェントがCogno botとして投稿・返信できます。 |
| **接続方法** | Discord OAuth — ワンクリック。 |
| **設定できる人** | **設定** を開けるワークスペース memberなら誰でも。 |
| **必要なもの** | Cogno botを追加できるDiscordサーバー。 |

Discordサーバーを接続すると、Cognoはコミュニティで交わされている内容を読み取り、ワークスペースのコンテキストとして使い、実行につながるメッセージを **提案task** に変えます。エージェントの投稿・返信は初期状態で許可されており、Cognoはメンションされると返信します。止めるには **エージェントツール** の **Discordに送信** でブロックを設定します。

## 事前確認

* 対象ワークスペースで **設定** を開ける。
* 読み取り元のDiscordサーバーにCogno botを追加できる（または追加済み）。

## CognoでDiscordを接続する

**1. Discord連携を開く**

**連携** を開き、**Discord** を選択します。

**2. Discordを認可する**

**接続** を押します。Discordの認可画面が別ウィンドウで開くので承認すると、Cognoに戻ります。

**3. 接続を確認する**

Discordページにこのワークスペースの **Connection** が表示されます。

## サーバーを選ぶ

**1. サーバーを開く**

**サーバー** セクションの **Discord サーバー** の選択メニューを開きます。自分とCogno botの両方がいるサーバーが並びます。表示されない場合はサーバーにbotを追加して **再読み込み** を押します。

**2. サーバーを選択する**

このワークスペースが読み取るサーバーを選びます。ページ上部の接続行にサーバー名が表示されます。

**チャンネル** セクションには、選択したサーバーでCogno botが見えるチャンネルが表示されます。

別のサーバーに変更すると、この接続を使うすべてのProjectでDiscordチャンネルの選択が解除され、旧サーバーのチャンネルはProjectの選択候補から外れます。絞り直すまでは、それらのProjectは新しいサーバーのすべてのチャンネルを読みます。過去の会話履歴は保持されます。同じサーバーを再選択した場合は、既存のチャンネル選択が維持されます。

## Projectでチャンネルを選ぶ

サーバーの選択は「Cognoが見てよい範囲」を決めます。Slackのチャンネルと同じく、Projectはチャンネルを絞るまでそのサーバーのすべてのチャンネルを読みます。Projectがチャンネルを選ぶと、ほかのチャンネルのメッセージからはそのProjectのAttentionやtaskは作られません。

**1. Projectの連携を開く**

Projectの設定を開き、**Projectの連携** を表示します。**Discord** の行に接続したサーバー名が表示されます。

**2. チャンネルを選ぶ**

**チャンネル** の **選択** を押し、このProjectが会話を取り込むチャンネルを選びます。サーバーを選択すると、投稿前のチャンネルやフォーラムも一覧に表示されます。Cognoは5分ごとに一覧を同期し、チャンネルの追加・改名・削除を反映します。

スレッドは開始元のチャンネルに属するため、チャンネルを選ぶとそのスレッドも含まれます。同じチャンネルを複数のProjectが選んでも構いません。

フォーラムチャンネルは、フォーラム自体を選びます。その中の投稿と返信が対象になり、選択する前に投稿を作成する必要はありません。

## エージェントのアクセスを設定する

Discordページの**エージェントツール**で、この接続へのアクセスを設定します。保存済みメッセージ、スレッド、履歴、メッセージで共有されたファイル、Projectのチャンネル一覧、Cognoが見かけたDiscordユーザーを取得する**Discordを読む**は、初期状態では**許可**です。投稿・返信と、botの絵文字リアクションの追加・削除を行う**Discordに送信**は、初期状態では**許可**です。

操作を禁止するには**ブロック**、対話実行中に承認してから実行するには**確認**、承認を求めず実行するには**許可**を選びます。自律実行では、**確認**に設定されたツールを利用できません。チャットへの返信は短く保たれます。12行を超える投稿は、全文を求められた場合を除き拒否され、何も送信されません。そのためCognoは結論を先に書き、長い一覧は画像または上位3件にまとめ、詳細はTaskに残します。

**Projectの連携**の各行は、最初ワークスペースの設定に従います。Projectでさらに制限することはできますが、ワークスペースが許可する範囲を広げることはできません。読み取りと送信の対象は、Projectが読むチャンネルに限られます。Discordをオフにしたプロジェクトは、何も読まず、何も送りません。

エージェントには、メッセージに添付されたファイルが `attachment_id`・名前・種類・サイズで見えます。`discord_read_file` は `message_id` と `attachment_id` を指定してその内容を読みます。テキストファイル（プレーンテキスト、CSV、JSON、XMLなど）とPDFは本文テキストを、画像は画像そのものを返します。テキストは20,000文字、画像は1 MB、PDFは5 MBで切り詰められ、それを超えるファイルやその他の形式は、内容を読まなかった旨の注記付きでメタデータだけを返します。Cognoは毎回Discordからファイルを取得し、何も保存しません。そのためbotにはチャンネルでのView ChannelとRead Message Historyの権限が必要で、権限がない場合は空の結果ではなく、Discordがファイルの提供を拒否した旨のエラーを返します。読めるのは、現在のProjectが読むチャンネルで共有されたファイルのうち、サーバー接続後に投稿されたメッセージのものだけです。

## Discordユーザーをワークスペース memberに対応付ける

**メンバーの対応づけ** を開き、**メンバーを同期** を押すと、Cognoがメッセージで観測したDiscordユーザーを集められます。各ユーザーをCogno **member** に対応付けると、投稿者やメンションが正しい人に解決されます。

## 接続を解除する

接続行の **⋯** メニューから **接続を解除** を選び、確認します。

## よくある状態

| State | Meaning | Next action |
| - | - | - |
| **サーバー** が空 | 共有サーバーにCogno botがまだいない | サーバーにbotを追加して **再読み込み** を押します |
| 「このサーバーは既に接続済み」 | サーバーが別のCogno ワークスペースに接続されている | そのワークスペースから接続するか、先にそちらで解除します |
| **メンバーの対応づけ** が空 | ユーザーのメッセージをまだ観測していない | サーバーで発言してから **メンバーを同期** を押します |
| Projectの **チャンネル** が **選択できる対象がありません** | 一覧がまだ同期されていないか、サーバーに対象のチャンネルがない | サーバーの選択を確認し、次の同期後にProjectの設定を開き直します |
| メッセージは届くのにAttentionやtaskが作られない | すべてのProjectがDiscordを別のチャンネルに絞っている | **Projectの連携** でそのチャンネルをProjectに加えるか、Projectの選択を外してすべてのチャンネルを読むようにします |

## 参照URL

* [Discord: サーバーへのbot追加](https://discord.com/developers/docs/quick-start/getting-started)

## 関連docs

* [Troubleshooting](/docs/ja/troubleshooting.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.