Communityライティング&編集github.com

Aiko-IT-Systems/DisCatSharp

C# で Discord アプリを開発するためのライブラリ。最新の Discord 機能へのアクセスを常に提供することに重点を置いています。

DisCatSharp とは?

このスキルは、C# で Discord ボットやアプリケーションを構築するためのライブラリ DisCatSharp を使用するためのガイドです。特に、プロジェクトの既存のバージョンに基づいた正確な API の使用を重視しており、DSharpPlus や Discord.Net など他の Discord ライブラリの API を誤って推測しないように注意します。まずプロジェクトのコンテキストを確認し、インストールされている DisCatSharp のバージョンや参照モジュールを特定した上で、公式ドキュメント MCP や HTTP 検索エンドポイントからエビデンスを取得します。回答では、正確な型名やシグネチャ、名前空間を使用し、コンパイル可能なコード例を示します。また、非同期処理やキャンセレーション、依存性注入、ライフサイクル管理などのベストプラクティスを守り、不完全なエビデンスについては推測と確認点を明確に区別します。

対応~Claude Code~Codex CLI~Cursor
npx skills add Aiko-IT-Systems/DisCatSharp

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

DisCatSharp の使用

プロジェクトの DisCatSharp バージョンと検証済みの DisCatSharp エビデンスに基づいて回答します。公開ドキュメント MCP はメインライブラリと公式 DisCatSharp.Extensions をカバーしており、利用可能な場合はそちらを優先します。DSharpPlus、Discord.Net、Pycord、その他の Discord ライブラリから API を推測しないでください。

プロジェクトコンテキストの確立

  1. ローカルプロジェクトが利用可能な場合は検査します。以下を特定します。
    • プロジェクトファイル、中央パッケージファイル、ロックファイル、または復元されたアセットからインストールされている DisCatSharp パッケージのバージョン。
    • ターゲットフレームワークとホスティングモデル。
    • すでに参照されている DisCatSharp モジュール。
  2. プロジェクトがない場合は、回答がそれに大きく依存する場合にのみ DisCatSharp バージョンを尋ねます。それ以外の場合は、回答が対象とする現在の API バージョンを明記します。
  3. ライブプロジェクトのソースとインストールされているパッケージメタデータを、そのプロジェクトの信頼できる情報源として扱います。公開 MCP は通常、最新のドキュメントビルドを記述しており、ユーザーのパッケージよりも新しい可能性があります。

パッケージまたは拡張機能を選択するときは、references/modules.md を参照してください。

エビデンスの取得

DisCatSharp ドキュメント MCP が接続されている場合は、最小限の有用な順序を使用します。

  1. 広範な機能、ワークフロー、または概念的な質問については search を呼び出します。プロジェクトまたは質問が明らかに main または extensions のみに関するものでない限り、両方のコーパスを検索します。
  2. 正確な型、メンバー、修飾名、オーバーロードについては find_symbol を呼び出します。コーパスフィルターを使用して、両方のリポジトリに存在する型を明確にします。
  3. seed の完全なドキュメントを参照する前に、返された symbol: または document: ID を指定して fetch を呼び出します。
  4. 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 によって定義された応答期限と応答/フォローアップルールがあります。

関連スキル