DisCatSharp の使用
プロジェクトの DisCatSharp バージョンと検証済みの DisCatSharp エビデンスに基づいて回答します。公開ドキュメント MCP はメインライブラリと公式 DisCatSharp.Extensions をカバーしており、利用可能な場合はそちらを優先します。DSharpPlus、Discord.Net、Pycord、その他の Discord ライブラリから API を推測しないでください。
プロジェクトコンテキストの確立
- ローカルプロジェクトが利用可能な場合は検査します。以下を特定します。
- プロジェクトファイル、中央パッケージファイル、ロックファイル、または復元されたアセットからインストールされている DisCatSharp パッケージのバージョン。
- ターゲットフレームワークとホスティングモデル。
- すでに参照されている DisCatSharp モジュール。
- プロジェクトがない場合は、回答がそれに大きく依存する場合にのみ DisCatSharp バージョンを尋ねます。それ以外の場合は、回答が対象とする現在の API バージョンを明記します。
- ライブプロジェクトのソースとインストールされているパッケージメタデータを、そのプロジェクトの信頼できる情報源として扱います。公開 MCP は通常、最新のドキュメントビルドを記述しており、ユーザーのパッケージよりも新しい可能性があります。
パッケージまたは拡張機能を選択するときは、references/modules.md を参照してください。
エビデンスの取得
DisCatSharp ドキュメント MCP が接続されている場合は、最小限の有用な順序を使用します。
- 広範な機能、ワークフロー、または概念的な質問については
searchを呼び出します。プロジェクトまたは質問が明らかにmainまたはextensionsのみに関するものでない限り、両方のコーパスを検索します。 - 正確な型、メンバー、修飾名、オーバーロードについては
find_symbolを呼び出します。コーパスフィルターを使用して、両方のリポジトリに存在する型を明確にします。 seedの完全なドキュメントを参照する前に、返されたsymbol:またはdocument:ID を指定してfetchを呼び出します。get_sourceは、インデックス化されたシンボルメタデータによって返されたリポジトリ相対パスと境界範囲に対してのみ、そして文書化された動作だけでは不十分な場合にのみ呼び出します。
オーバーロード固有の ID と URL を保持します。検索結果は候補であり、完全なドキュメントではありません。UID、ドキュメント ID、ソースパス、シグネチャ、またはオーバーロードを捏造しないでください。
MCP が利用できないが HTTP アクセスが可能な場合は、https://docs.dcs.aitsys.dev/_search?q=<query> をクエリします。所有リポジトリがわかっている場合は corpus=main または corpus=extensions を追加し、両方を検索する場合は省略します。さらに絞り込みが有用な場合のみ、references/modules.md の正確なモジュール名を module=<package> とともに使用します。
Discord プラットフォームの動作(ペイロード、権限、インテント、ゲートウェイイベント、レート制限、REST セマンティクス、アプリケーションコマンドルール)については、利用可能な場合、https://docs.discord.com/mcp の公式 Discord ドキュメント MCP を参照します。Discord の契約と、それに対する DisCatSharp の表現を明確に分離します。
MCP が利用できない場合、結果がインストールされているバージョンと矛盾する場合、またはルックアップが一致しない場合は、references/evidence-and-fallbacks.md を参照してください。
回答の生成
- エビデンスによってサポートされる、正確な DisCatSharp 名、シグネチャ、パッケージ、名前空間を使用します。
- コードが要求された場合は、最小限のコンパイル可能な例を示します。関連するインテント、設定、拡張機能の登録、依存性注入、廃棄/ライフサイクルの詳細を含めます。
- 使用されているイベントまたはコマンドモデルを説明します。ApplicationCommands と CommandsNext を軽率に混在させないでください。
- 非同期動作とキャンセレーションを維持します。ブロッキングの
.Resultや.Wait()呼び出しを導入しないでください。 - 関連する場合は、バージョン要件、試験的ステータス、必要な Discord 設定、移行の影響に言及します。
- 最も有用な DisCatSharp ページまたは正確なオーバーロードにリンクします。検索結果を解決せずにダンプすることは避けてください。
- エビデンスが不完全な場合は、何が検証され、何が推測され、ユーザーが何を確認すべきかを述べます。不確実性をもっともらしいコードの背後に隠さないでください。
よくある落とし穴
- 他の Discord ライブラリの類似 API は互換性がありません。
- 現在のドキュメントに型が存在しても、インストールされている古いパッケージに存在するとは限りません。
- キャッシュ状態は部分的である可能性があり、イベントにはインテントが必要な場合があります。
- Discord REST バケット FIFO とゲートウェイユーザーハンドラーの順序付けは別の考慮事項です。
- ゲートウェイキャッシュのミューテーションは順序付けられたままですが、
GatewayAdvancedConfiguration.DispatchModeがSequentialHandlersを使用しない限り、ユーザーハンドラーはデフォルトで同時実行されます。 - スラッシュコマンドインタラクションには、Discord によって定義された応答期限と応答/フォローアップルールがあります。