CommunityRedacción y edicióngithub.com

Aiko-IT-Systems/DisCatSharp

Tu biblioteca para escribir aplicaciones de Discord en C# con enfoque en brindar siempre acceso a las últimas características de Discord.

¿Qué es DisCatSharp?

DisCatSharp es una biblioteca de C# diseñada para desarrollar aplicaciones de Discord, manteniendo compatibilidad constante con las novedades de la plataforma. Esta habilidad proporciona pautas precisas para usar DisCatSharp en un proyecto, incluyendo cómo determinar la versión instalada, los módulos disponibles y el marco de destino. Se integra con el MCP de documentación pública para buscar símbolos, documentación y fuentes, y recomienda consultar el MCP oficial de Discord para comportamientos de la plataforma (como permisos, intents y eventos). La habilidad enfatiza el uso de nombres exactos de la API, ejemplos compilables, manejo asíncrono y explicación del modelo de comandos empleado (ApplicationCommands vs CommandsNext). También advierte sobre trampas comunes, como no mezclar APIs de otras bibliotecas (DSharpPlus, Discord.Net, Pycord) y verificar que los tipos documentados realmente existan en la versión instalada del paquete.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add Aiko-IT-Systems/DisCatSharp

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Usar DisCatSharp

Responde desde la versión de DisCatSharp del proyecto consumidor y la evidencia verificada de DisCatSharp. El MCP de documentación pública cubre la biblioteca principal y las extensiones oficiales de DisCatSharp; prefíerelo cuando esté disponible. No infieras APIs de DSharpPlus, Discord.Net, Pycord u otra biblioteca de Discord.

Establecer el contexto del proyecto

  1. Inspecciona el proyecto local cuando esté disponible. Determina:
    • Las versiones de paquetes DisCatSharp instaladas desde archivos de proyecto, archivos de paquete central, archivos de bloqueo o activos restaurados.
    • El marco de destino y el modelo de alojamiento.
    • Qué módulos de DisCatSharp ya están referenciados.
  2. Si no hay proyecto disponible, pregunta por la versión de DisCatSharp solo cuando la respuesta dependa materialmente de ella. De lo contrario, indica a qué versión actual de la API se dirige la respuesta.
  3. Trata el código fuente del proyecto en vivo y los metadatos de paquetes instalados como autoritarios para ese proyecto. El MCP público normalmente describe la compilación de documentación más reciente y puede ser más nueva que los paquetes del usuario.

Lee references/modules.md al elegir paquetes o extensiones.

Recuperar evidencia

Cuando el MCP de documentación de DisCatSharp esté conectado, usa la secuencia más pequeña útil:

  1. Llama a search para una pregunta amplia de funcionalidad, flujo de trabajo o conceptual. Busca en ambos corpus a menos que el proyecto o la pregunta se refieran claramente solo a main o extensions.
  2. Llama a find_symbol para tipos exactos, miembros, nombres calificados y sobrecargas. Usa el filtro de corpus para desambiguar tipos que existen en ambos repositorios.
  3. Llama a fetch con el symbol: o document: ID devuelto antes de confiar en la documentación completa de un resultado.
  4. Llama a get_source solo para una ruta relativa al repositorio y un rango acotado devuelto por metadatos de símbolos indexados, y solo cuando el comportamiento documentado sea insuficiente.

Preserva los IDs específicos de sobrecarga y las URLs. Un resultado de búsqueda es un candidato, no documentación completa. No fabriques un UID, ID de documento, ruta de origen, firma o sobrecarga.

Cuando MCP no esté disponible pero el acceso HTTP sea posible, consulta https://docs.dcs.aitsys.dev/_search?q=<query>. Agrega corpus=main o corpus=extensions cuando se conozca el repositorio propietario; omítelo para buscar en ambos. Usa un nombre de módulo exacto de references/modules.md con module=<package> solo cuando sea útil para acotar más.

Para el comportamiento de la plataforma Discord—cargas útiles, permisos, intents, eventos de Gateway, límites de tasa, semántica REST o reglas de comandos de aplicación—consulta el MCP de documentación oficial de Discord en https://docs.discord.com/mcp cuando esté disponible. Separa claramente el contrato de Discord de la representación de DisCatSharp.

Lee references/evidence-and-fallbacks.md cuando MCP no esté disponible, los resultados entren en conflicto con la versión instalada o una búsqueda no devuelva coincidencias.

Producir una respuesta

  • Usa nombres exactos de DisCatSharp, firmas, paquetes y espacios de nombres respaldados por la evidencia.
  • Proporciona un ejemplo mínimo compilable cuando se solicite código. Incluye intents relevantes, configuración, registro de extensiones, inyección de dependencias y detalles de disposición/ciclo de vida.
  • Explica qué modelo de evento o comando se está utilizando. No mezcles casualmente ApplicationCommands y CommandsNext.
  • Preserva el comportamiento asíncrono y la cancelación. No introduzcas llamadas bloqueantes .Result o .Wait().
  • Menciona los requisitos de versión, estado experimental, configuración requerida de Discord e impacto de migración cuando sea relevante.
  • Enlaza la página de DisCatSharp más útil o la sobrecarga exacta. Evita arrojar resultados de búsqueda sin resolverlos.
  • Si la evidencia sigue incompleta, indica qué se verificó, qué se infiere y qué debe comprobar el usuario. Nunca ocultes la incertidumbre detrás de código que parezca plausible.

Trampas comunes

  • Las APIs similares en otras bibliotecas de Discord no son intercambiables.
  • Que un tipo exista en la documentación actual no prueba que exista en un paquete instalado más antiguo.
  • El estado de caché puede ser parcial y los eventos pueden requerir intents.
  • El FIFO de los buckets REST de Discord y el orden de los manejadores de Gateway son aspectos separados.
  • La mutación de la caché de Gateway permanece ordenada, mientras que los manejadores de usuario son concurrentes por defecto a menos que GatewayAdvancedConfiguration.DispatchMode use SequentialHandlers.
  • Las interacciones de comandos de barra tienen plazos de respuesta y reglas de respuesta/seguimiento definidas por Discord.

Skills relacionados