DisCatSharp verwenden
Antworte basierend auf der verwendeten DisCatSharp-Version des Projekts und geprüften DisCatSharp-Nachweisen. Der öffentliche MCP-Dokumentationsdienst deckt die Hauptbibliothek und die offiziellen DisCatSharp.Extensions ab; bevorzuge ihn, wenn verfügbar. Leite keine APIs von DSharpPlus, Discord.Net, Pycord oder anderen Discord-Bibliotheken ab.
Projektkontext feststellen
- Untersuche das lokale Projekt, falls verfügbar. Bestimme:
- Die installierten DisCatSharp-Paketversionen aus Projektdateien, zentralen Paketdateien, Sperrdateien oder wiederhergestellten Objekten.
- Das Zielframework und das Hostingmodell.
- Welche DisCatSharp-Module bereits referenziert sind.
- Falls kein Projekt verfügbar ist, frage nach der DisCatSharp-Version nur, wenn die Antwort wesentlich davon abhängt. Ansonsten gib an, auf welche aktuelle API-Version sich die Antwort bezieht.
- Behandle live Projektquellen und installierte Paketmetadaten als verbindlich für dieses Projekt. Der öffentliche MCP beschreibt normalerweise den aktuellsten Dokumentationsstand und kann neuer sein als die Pakete des Benutzers.
Lies references/modules.md, wenn du Pakete oder Erweiterungen auswählst.
Nachweise abrufen
Wenn der DisCatSharp-Dokumentations-MCP verbunden ist, verwende die kürzeste sinnvolle Abfolge:
- Rufe
searchfür eine allgemeine Funktions-, Arbeitsablauf- oder konzeptionelle Frage auf. Durchsuche beide Korpora, es sei denn, das Projekt oder die Frage betrifft eindeutig nurmainoderextensions. - Rufe
find_symbolfür genaue Typen, Member, qualifizierte Namen und Überladungen auf. Verwende den Korpusfilter, um Typen zu unterscheiden, die in beiden Repositories existieren. - Rufe
fetchmit der zurückgegebenensymbol:- oderdocument:-ID auf, bevor du dich auf die vollständige Dokumentation eines Ergebnisses verlässt. - Rufe
get_sourcenur für einen repository-relativen Pfad und einen begrenzten Bereich auf, der von indizierten Symbolmetadaten zurückgegeben wird, und nur, wenn das dokumentierte Verhalten nicht ausreicht.
Behalte überladungsspezifische IDs und URLs bei. Ein Suchergebnis ist ein Kandidat, keine vollständige Dokumentation. Erfinde keine UID, Dokument-ID, Quellpfad, Signatur oder Überladung.
Wenn MCP nicht verfügbar ist, aber HTTP-Zugriff möglich ist, führe eine Abfrage unter https://docs.dcs.aitsys.dev/_search?q=<query> durch. Füge corpus=main oder corpus=extensions hinzu, wenn das zugehörige Repository bekannt ist; lasse es weg, um beide zu durchsuchen. Verwende einen exakten Modulnamen aus references/modules.md mit module=<package> nur, wenn eine weitere Eingrenzung sinnvoll ist.
Für Discord-Plattformverhalten – Payloads, Berechtigungen, Intents, Gateway-Ereignisse, Ratenlimits, REST-Semantik oder Regeln für Anwendungsbefehle – konsultiere den offiziellen Discord-Dokumentations-MCP unter https://docs.discord.com/mcp, wenn verfügbar. Trenne klar Discords Vertrag von DisCatSharps Darstellung.
Lies references/evidence-and-fallbacks.md, wenn MCP nicht verfügbar ist, Ergebnisse mit der installierten Version in Konflikt stehen oder eine Suche kein Ergebnis liefert.
Eine Antwort erstellen
- Verwende exakte DisCatSharp-Namen, Signaturen, Pakete und Namespaces, die durch die Nachweise gestützt werden.
- Gib ein minimales, kompilierfertiges Beispiel, wenn Code angefordert wird. Füge relevante Intents, Konfiguration, Erweiterungsregistrierung, Dependency Injection und Entsorgungs-/Lebenszyklusdetails hinzu.
- Erkläre, welches Ereignis- oder Befehlsmodell verwendet wird. Mische ApplicationCommands und CommandsNext nicht beiläufig.
- Bewahre asynchrones Verhalten und Abbruchmöglichkeiten. Führe keine blockierenden
.Result- oder.Wait()-Aufrufe ein. - Erwähne Versionsanforderungen, experimentellen Status, erforderliche Discord-Konfiguration und Auswirkungen auf die Migration, wenn relevant.
- Verlinke die nützlichste DisCatSharp-Seite oder exakte Überladung. Vermeide es, Suchergebnisse ohne Auflösung auszugeben.
- Wenn die Nachweise unvollständig bleiben, gib an, was überprüft wurde, was gefolgert wird und was der Benutzer überprüfen sollte. Verstecke niemals Unsicherheit hinter plausibel aussehendem Code.
Häufige Fallstricke
- Ähnliche APIs in anderen Discord-Bibliotheken sind nicht austauschbar.
- Ein Typ, der in der aktuellen Dokumentation existiert, beweist nicht, dass er in einem älteren installierten Paket vorhanden ist.
- Der Cache-Zustand kann partiell sein und Ereignisse erfordern möglicherweise Intents.
- Discord-REST-Bucket-FIFO und Gateway-User-Handler-Reihenfolge sind separate Anliegen.
- Gateway-Cache-Mutationen bleiben geordnet, während User-Handler standardmäßig nebenläufig sind, es sei denn,
GatewayAdvancedConfiguration.DispatchModeverwendetSequentialHandlers. - Slash-Befehlsinteraktionen haben Antwortfristen und Antwort-/Folgeantwortregeln, die von Discord definiert werden.