La documentation peut être trouvée sur https://docs.discordnet.dev/index.html
Discord.Net est un projet open source sous licence MIT dont le développement est entièrement rendu possible par des bénévoles. Si vous souhaitez soutenir financièrement nos efforts, veuillez considérer :
Nos versions stables disponibles depuis NuGet via le métapaquet Discord.Net :
Les composants individuels peuvent également être installés à partir de NuGet :
Webhooks
Services de commande texte et d'interaction.
Couverture API complète.
Le noyau de l'API. Implémente uniquement les entités et les fonctionnalités barebones.
Les Nightlies sont des versions de Discord.NET qui sont encore en phase expérimentale et n'ont pas été publiées.
Ils sont disponibles via 2 sources différentes :
Note
Les packages GitHub nécessitent une authentification. Vous pouvez trouver plus d’informations ici.
.NET Core 1.1 ne prend pas en charge les WebSockets sur Win7 et versions antérieures. Ce problème a été résolu depuis la sortie de .NET Core 2.1. Il est recommandé de cibler .NET Core 2.1 ou supérieur pour votre projet si vous souhaitez exécuter votre bot sur des plates-formes existantes ; vous pouvez également choisir d'installer le package Discord.Net.Providers.WS4Net.
Discord ne prend en charge que TLS1.2+ sur tous leurs sites Web, y compris l'API depuis le 19/07/2022. .NET Framework ne prend pas en charge ce protocole par défaut. Si vous dépendez de .NET Framework, il est suggéré de mettre à niveau votre projet vers net6-windows
. Ce framework prend en charge la plupart des fonctionnalités Windows uniquement introduites par fx et résout les erreurs de démarrage dues à la non-concordance du protocole TLS.
Cette bibliothèque respecte généralement le versioning sémantique. Les packages sont publiés au format de version MAJOR.MINOR.PATCH
.
Un incrément du composant PATCH indique toujours qu'une modification interne uniquement a été effectuée, généralement une correction de bug. Ces modifications n'affecteront en aucune manière l'API publique et sont toujours garanties d'être compatibles en avant et en arrière avec votre base de code, toutes les dépendances précompilées de votre base de code.
Un incrément du composant MINOR indique qu'un ajout a été apporté à la bibliothèque, et cet ajout n'est pas rétrocompatible avec les versions antérieures. Cependant, Discord.Net ne garantit pas la compatibilité ascendante des ajouts mineurs. En d’autres termes, nous autorisons un ensemble limité de modifications majeures lors d’une modification mineure de la version.
En raison de la nature de l'API Discord, nous devrons souvent ajouter une propriété à une entité pour prendre en charge les dernières modifications de l'API. Discord.Net fournit des interfaces comme méthode de consommation d'entités ; et en tant que tel, l’introduction d’un nouveau domaine dans une entité est techniquement un changement radical. Les modifications de version majeures indiquent généralement un changement majeur dans la bibliothèque et, en tant que tel, nous hésitons à modifier la version majeure pour chaque ajout mineur à la bibliothèque. Par souci de compromis, nous avons décidé que les interfaces doivent être traitées uniquement comme des consommables et que vos applications ne doivent généralement pas implémenter d'interfaces.
Pour les applications où des interfaces sont implémentées, comme dans les simulations de tests, nous nous excusons pour cette incohérence avec SemVer.
Bien que nous ne casserons jamais l'API (en dehors des modifications d'interface) sur des versions mineures, nous devrons occasionnellement casser l'ABI, en introduisant des paramètres dans une méthode pour faire correspondre les modifications en amont avec Discord. En tant que tel, un incrément de version mineur peut vous obliger à recompiler votre code, et les dépendances, telles que les modules complémentaires, peuvent également devoir être recompilées et republiées sur la version la plus récente. Lorsqu’une modification radicale binaire est effectuée, la modification sera notée dans les notes de version.
Un incrément du composant MAJEUR indique que des modifications avec rupture ont été apportées à la bibliothèque ; les consommateurs doivent consulter les notes de version pour déterminer les modifications à apporter.
Branche de sortie suivant Major.Minor. Lors de leur publication, les correctifs seront transférés vers ces branches. Les nouvelles versions de NuGet seront étiquetées sur ces branches.
Branche de développement, disponible sur MyGet. C’est à cette branche que sont destinées les demandes d’extraction.
Branches qui ciblent Dev, ajoutant de nouvelles fonctionnalités. N'hésitez pas à explorer ces branches et à donner votre avis si nécessaire.
Cible généralement Dev. Ces branches sont utilisées pour mettre à jour la documentation avec de nouvelles fonctionnalités ou des refontes de fonctionnalités existantes.