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
- 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.
- 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.
- 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:
- Llama a
searchpara 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 amainoextensions. - Llama a
find_symbolpara tipos exactos, miembros, nombres calificados y sobrecargas. Usa el filtro de corpus para desambiguar tipos que existen en ambos repositorios. - Llama a
fetchcon elsymbol:odocument:ID devuelto antes de confiar en la documentación completa de un resultado. - Llama a
get_sourcesolo 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
.Resulto.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.DispatchModeuseSequentialHandlers. - Las interacciones de comandos de barra tienen plazos de respuesta y reglas de respuesta/seguimiento definidas por Discord.