Community寫作與編輯github.com

Aiko-IT-Systems/DisCatSharp

用於以 C# 撰寫 Discord 應用程式的函式庫,專注於持續提供最新的 Discord 功能。

DisCatSharp 是什麼?

此技能指導 AI 代理如何正確使用 DisCatSharp 函式庫,這是一個用於 C# 開發的 Discord 程式庫,強調支援最新的 Discord 功能。核心原則是依賴專案實際安裝的套件版本以及官方的 DisCatSharp 文件 MCP(模型上下文協定),而非推斷其他 Discord 程式庫(如 DSharpPlus 或 Discord.Net)的 API。技能詳細說明了建立專案上下文的步驟,包括檢查套件版本、目標框架及已參考的模組;並定義了從 MCP 伺服器檢索文件證據的嚴謹流程,搜尋時應使用最精簡的查詢序列(搜尋、符號查詢、提取、原始碼),優先考慮官方 MCP。若 MCP 不可用,則可回退至 HTTP 查詢終端點。此外,也強調驗證 Discord 平台行為時應參考 Discord 官方文件。最後,在產出解答時,必須使用精確的名稱空間及簽章、提供簡潔可編譯的範例,並明確區分事件模型與命令模型,同時說明非同步行為、版本需求及遷移影響,避免產生看似合理但未經證實的程式碼。

相容平台~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 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

使用 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. 在依賴某個結果的完整文件之前,調用 fetch 並使用其回傳的 symbol: 或 document: ID。
  4. 僅在已索引符號中繼資料回傳了相對於儲存庫的路徑及限定範圍,且文件化行為不足時,才調用 get_source。

保留多載特定的 ID 與 URL。搜尋結果僅是候選項,並非完整文件。請勿偽造 UID、文件 ID、原始碼路徑、簽章或多載。

當 MCP 不可用但 HTTP 存取可行時,查詢 https://docs.dcs.aitsys.dev/_search?q=<查詢>。當已知所屬儲存庫時,請加上 corpus=main 或 corpus=extensions;省略則表示同時搜尋兩者。僅在進一步縮小範圍有用時,才使用 references/modules.md 中的確切模組名稱搭配 module=<套件>。

對於 Discord 平台的行為(如負載、權限、意圖、閘道事件、速率限制、REST 語意或應用程式命令規則),當官方 Discord 文件 MCP 可用時,請諮詢位於 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 定義的回應截止時間以及回應/後續追蹤規則。

相關技能