Community写作与编辑github.com

Aiko-IT-Systems/DisCatSharp

用于在 C# 中编写 Discord 应用的库,始终确保提供最新的 Discord 功能。

DisCatSharp 是什么?

DisCatSharp 是一个专为 C# 开发者设计的 Discord 库,旨在持续提供对最新 Discord 功能的访问。该技能(Skill)指导 AI 代理如何正确使用 DisCatSharp,强调必须基于项目中实际安装的版本和已验证的文档证据来回答问题,避免与其他 Discord 库(如 DSharpPlus、Discord.Net、Pycord)混淆。技能详细描述了工作流程:首先检查项目上下文(如包版本、目标框架和引用模块),然后通过 MCP 或 HTTP 检索官方文档证据,最后根据证据生成精确的代码示例和解释。它特别关注常见陷阱,例如 API 差异、版本兼容性、缓存状态、意图要求和 Discord 平台约束。该技能支持 Cursor、Claude Code 等工具中的 AI 代理,帮助开发者高效、准确地使用 DisCatSharp 构建 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=<query>。当已知所属仓库时,添加 corpus=main 或 corpus=extensions;省略则以搜索两者。仅当需要进一步缩小范围时,才使用 references/modules.md 中的确切模块名称和 module=<package>。

关于 Discord 平台行为——负载、权限、意图、Gateway 事件、速率限制、REST 语义或应用命令规则——请查阅可用的官方 Discord 文档 MCP https://docs.discord.com/mcp。明确区分 Discord 的协议和 DisCatSharp 对其的实现。

当 MCP 不可用、结果与已安装版本冲突或查找没有返回匹配项时,请阅读 references/evidence-and-fallbacks.md。

生成答案

  • 使用基于证据的确切的 DisCatSharp 名称、签名、包和命名空间。
  • 当请求代码时,提供最小可编译的示例。包含相关的意图、配置、扩展注册、依赖注入以及处置/生命周期细节。
  • 解释正在使用哪个事件或命令模型。不要随意混合使用 ApplicationCommands 和 CommandsNext。
  • 保留异步行为和取消。不要引入阻塞性的 .Result 或 .Wait() 调用。
  • 在相关时,提及版本要求、实验状态、所需的 Discord 配置和迁移影响。
  • 链接最有用的 DisCatSharp 页面或确切的重载。避免不加解决地转储搜索结果。
  • 如果证据仍然不完整,说明哪些是已验证的、哪些是推断的,以及用户应检查什么。切勿在看似合理的代码背后隐藏不确定性。

常见陷阱

  • 其他 Discord 库中的类似 API 不可互换。
  • 当前文档中存在某个类型并不能证明它在旧的已安装包中也存在。
  • 缓存状态可能不完整,事件可能需要意图。
  • Discord REST 存储桶的 FIFO 顺序和 Gateway 用户处理程序的顺序是不同的问题。
  • Gateway 缓存突变保持有序,而用户处理程序默认是并发的,除非 GatewayAdvancedConfiguration.DispatchMode 使用了 SequentialHandlers。
  • 斜杠命令交互有响应截止时间以及 Discord 定义的响应/跟进规则。

相关技能