Die Dokumentation finden Sie unter https://docs.discordnet.dev/index.html
Discord.Net ist ein MIT-lizenziertes Open-Source-Projekt, dessen Entwicklung ausschließlich durch Freiwillige ermöglicht wird. Wenn Sie unsere Bemühungen finanziell unterstützen möchten, denken Sie bitte darüber nach:
Unsere stabilen Builds sind bei NuGet über das Discord.Net-Metapaket verfügbar:
Die einzelnen Komponenten können auch über NuGet installiert werden:
Webhooks
Textbefehls- und Interaktionsdienste.
Vollständige API-Abdeckung.
Der API-Kern. Implementiert nur Entitäten und Barebone-Funktionalität.
Nightlies sind Builds von Discord.NET, die sich noch in der experimentellen Phase befinden und noch nicht veröffentlicht wurden.
Sie sind über zwei verschiedene Quellen erhältlich:
Notiz
GitHub-Pakete erfordern eine Authentifizierung. Weitere Informationen finden Sie hier.
.NET Core 1.1 unterstützt WebSockets unter Win7 und früher nicht. Dieses Problem wurde seit der Veröffentlichung von .NET Core 2.1 behoben. Es wird empfohlen, für Ihr Projekt .NET Core 2.1 oder höher als Ziel zu verwenden, wenn Sie Ihren Bot auf älteren Plattformen ausführen möchten; Alternativ können Sie das Discord.Net.Providers.WS4Net-Paket installieren.
Discord unterstützt seit dem 19.07.2022 auf allen seinen Websites einschließlich der API nur noch TLS1.2+. .NET Framework unterstützt dieses Protokoll standardmäßig nicht. Wenn Sie auf .NET Framework angewiesen sind, wird empfohlen, Ihr Projekt auf net6-windows
zu aktualisieren. Dieses Framework unterstützt die meisten von fx eingeführten Nur-Windows-Funktionen und behebt Startfehler aufgrund der Nichtübereinstimmung des TLS-Protokolls.
Diese Bibliothek hält sich im Allgemeinen an die semantische Versionierung. Pakete werden im Versionsformat MAJOR.MINOR.PATCH
veröffentlicht.
Eine Erhöhung der PATCH -Komponente zeigt immer an, dass eine nur interne Änderung vorgenommen wurde, im Allgemeinen ein Bugfix. Diese Änderungen wirken sich in keiner Weise auf die öffentlich zugängliche API aus und sind immer garantiert vorwärts- und rückwärtskompatibel mit Ihrer Codebasis und allen vorkompilierten Abhängigkeiten Ihrer Codebasis.
Eine Erhöhung der MINOR- Komponente weist darauf hin, dass der Bibliothek etwas hinzugefügt wurde und diese Ergänzung nicht abwärtskompatibel mit früheren Versionen ist. Discord.Net garantiert jedoch keine Vorwärtskompatibilität für kleinere Ergänzungen. Mit anderen Worten, wir erlauben eine begrenzte Anzahl bahnbrechender Änderungen bei einer geringfügigen Versionserhöhung.
Aufgrund der Natur der Discord-API müssen wir einer Entität häufig eine Eigenschaft hinzufügen, um die neuesten API-Änderungen zu unterstützen. Discord.Net stellt Schnittstellen als Methode zum Konsumieren von Entitäten bereit; Daher ist die Einführung eines neuen Feldes in einer Entität technisch gesehen eine bahnbrechende Änderung. Aktualisierungen der Hauptversion deuten im Allgemeinen auf eine größere Änderung an der Bibliothek hin, und daher zögern wir, die Hauptversion für jede kleinere Ergänzung der Bibliothek zu aktualisieren. Um einen Kompromiss einzugehen, haben wir entschieden, dass Schnittstellen nur als Verbrauchsgüter behandelt werden sollten und Ihre Anwendungen normalerweise keine Schnittstellen implementieren sollten.
Bei Anwendungen, bei denen Schnittstellen implementiert sind, beispielsweise in Test-Mocks, entschuldigen wir uns für diese Inkonsistenz mit SemVer.
Während wir die API (abgesehen von Schnittstellenänderungen) bei kleineren Builds niemals unterbrechen werden, müssen wir gelegentlich die ABI unterbrechen, indem wir Parameter in eine Methode einführen, um Änderungen vorab mit Discord abzugleichen. Daher kann es sein, dass Sie bei einem kleineren Versionsinkrement Ihren Code neu kompilieren müssen, und Abhängigkeiten, wie z. B. Add-ons, müssen möglicherweise ebenfalls neu kompiliert und in der neueren Version veröffentlicht werden. Wenn eine binäre Breaking-Änderung vorgenommen wird, wird die Änderung in den Versionshinweisen vermerkt.
Eine Erhöhung der MAJOR -Komponente zeigt an, dass wichtige Änderungen an der Bibliothek vorgenommen wurden; Verbraucher sollten die Versionshinweise prüfen, um festzustellen, welche Änderungen vorgenommen werden müssen.
Release-Zweig nach Major.Minor. Bei der Veröffentlichung werden Patches auf diese Zweige übertragen. Neue NuGet-Versionen werden in diesen Zweigen markiert.
Entwicklungszweig, verfügbar auf MyGet. Auf diesen Zweig richten sich Pull-Requests.
Zweige, die auf Dev abzielen und neue Funktionen hinzufügen. Erkunden Sie diese Branchen gerne und geben Sie bei Bedarf Feedback.
Zielt normalerweise auf Dev ab. Diese Zweige werden verwendet, um die Dokumentation entweder mit neuen Funktionen oder mit Überarbeitungen vorhandener Funktionen zu aktualisieren.