CommunityRédaction et éditiongithub.com

Aiko-IT-Systems/DisCatSharp

Votre bibliothèque pour écrire des applications Discord en C#, avec un accent sur la fourniture permanente des dernières fonctionnalités Discord.

Qu'est-ce que DisCatSharp ?

Cette compétence spécialisée permet aux développeurs d'utiliser DisCatSharp, la bibliothèque C# pour créer des applications Discord, en fournissant des conseils précis, des exemples de code compilables et des références fiables. Elle vérifie d'abord le contexte du projet local (versions des packages, framework cible, modules référencés) avant de rechercher de la documentation via le MCP public ou une requête HTTP directe. La compétence distingue clairement le comportement de la plateforme Discord de l'implémentation DisCatSharp et évite les pièges courants comme la confusion avec d'autres bibliothèques Discord (DSharpPlus, Discord.Net, Pycord). Elle exige que les réponses s'appuient sur des preuves vérifiées, qu'elles mentionnent les exigences de version, la configuration des intents, l'enregistrement des extensions et les détails de cycle de vie, et qu'elles ne masquent jamais l'incertitude. Elle inclut des mécanismes de repli lorsque le MCP est indisponible et guide l'utilisateur sur les ressources à consulter en cas d'absence de documentation.

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

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Utiliser DisCatSharp

Répondez en fonction de la version de DisCatSharp du projet consommateur et des preuves vérifiées de DisCatSharp. Le MCP de documentation publique couvre la bibliothèque principale et les DisCatSharp.Extensions officielles ; préférez-le lorsqu'il est disponible. N'inférez pas d'API à partir de DSharpPlus, Discord.Net, Pycord ou d'une autre bibliothèque Discord.

Établir le contexte du projet

  1. Inspectez le projet local lorsqu'il est disponible. Déterminez :
    • Les versions des packages DisCatSharp installées à partir des fichiers projet, des fichiers de package centraux, des fichiers de verrouillage ou des ressources restaurées.
    • Le framework cible et le modèle d'hébergement.
    • Les modules DisCatSharp déjà référencés.
  2. Si aucun projet n'est disponible, demandez la version de DisCatSharp uniquement lorsque la réponse en dépend matériellement. Sinon, indiquez la version actuelle de l'API ciblée par la réponse.
  3. Considérez le code source du projet en direct et les métadonnées des packages installés comme faisant autorité pour ce projet. Le MCP public décrit normalement la dernière version de la documentation et peut être plus récent que les packages de l'utilisateur.

Consultez references/modules.md lors du choix des packages ou des extensions.

Récupérer des preuves

Lorsque le MCP de documentation DisCatSharp est connecté, utilisez la plus petite séquence utile :

  1. Appelez search pour une fonctionnalité large, un workflow ou une question conceptuelle. Recherchez dans les deux corpus, sauf si le projet ou la question ne concerne clairement que main ou extensions.
  2. Appelez find_symbol pour les types exacts, les membres, les noms qualifiés et les surcharges. Utilisez le filtre de corpus pour désambiguïser les types qui existent dans les deux dépôts.
  3. Appelez fetch avec l'ID symbol: ou document: renvoyé avant de vous fier à la documentation complète d'un résultat.
  4. Appelez get_source uniquement pour un chemin relatif au dépôt et une plage bornée renvoyée par les métadonnées de symbole indexées, et uniquement lorsque le comportement documenté est insuffisant.

Conservez les ID et URL spécifiques aux surcharges. Un résultat de recherche est un candidat, pas une documentation complète. Ne fabriquez pas d'UID, d'ID de document, de chemin source, de signature ou de surcharge.

Lorsque le MCP est indisponible mais que l'accès HTTP est possible, interrogez https://docs.dcs.aitsys.dev/_search?q=<query>. Ajoutez corpus=main ou corpus=extensions lorsque le dépôt propriétaire est connu ; omettez-le pour rechercher les deux. Utilisez un nom de module exact provenant de references/modules.md avec module=<package> uniquement lorsque cela est utile pour affiner davantage.

Pour le comportement de la plateforme Discord (charges utiles, permissions, intents, événements Gateway, limites de débit, sémantique REST ou règles des commandes d'application), consultez le MCP officiel de la documentation Discord à https://docs.discord.com/mcp lorsqu'il est disponible. Séparez clairement le contrat de Discord de sa représentation par DisCatSharp.

Consultez references/evidence-and-fallbacks.md lorsque le MCP est indisponible, que les résultats sont en conflit avec la version installée, ou qu'une recherche ne renvoie aucun résultat.

Produire une réponse

  • Utilisez les noms, signatures, packages et espaces de noms exacts de DisCatSharp pris en charge par les preuves.
  • Donnez un exemple minimal prêt à être compilé lorsque du code est demandé. Incluez les intents pertinents, la configuration, l'enregistrement des extensions, l'injection de dépendances et les détails de suppression/cycle de vie.
  • Expliquez quel modèle d'événement ou de commande est utilisé. Ne mélangez pas à la légère ApplicationCommands et CommandsNext.
  • Préservez le comportement asynchrone et l'annulation. N'introduisez pas d'appels bloquants .Result ou .Wait().
  • Mentionnez les exigences de version, le statut expérimental, la configuration Discord requise et l'impact de la migration lorsque cela est pertinent.
  • Liez la page DisCatSharp ou la surcharge exacte la plus utile. Évitez de déverser des résultats de recherche sans les résoudre.
  • Si les preuves restent incomplètes, indiquez ce qui a été vérifié, ce qui est inféré et ce que l'utilisateur doit vérifier. Ne cachez jamais l'incertitude derrière un code d'apparence plausible.

Pièges courants

  • Les API similaires d'autres bibliothèques Discord ne sont pas interchangeables.
  • L'existence d'un type dans la documentation actuelle ne prouve pas qu'il existe dans un package installé plus ancien.
  • L'état du cache peut être partiel et les événements peuvent nécessiter des intents.
  • Le FIFO des buckets REST de Discord et l'ordre des handlers utilisateur Gateway sont des préoccupations distinctes.
  • La mutation du cache Gateway reste ordonnée, tandis que les handlers utilisateur sont simultanés par défaut, sauf si GatewayAdvancedConfiguration.DispatchMode utilise SequentialHandlers.
  • Les interactions par commande slash ont des délais de réponse et des règles de réponse/suivi définis par Discord.

Skills associés