ドキュメントは https://docs.discordnet.dev/index.html にあります。
Discord.Net は MIT ライセンスのオープンソース プロジェクトであり、開発はすべてボランティアによって行われました。私たちの取り組みを経済的に支援したい場合は、次のことを検討してください。
安定したビルドは、Discord.Net メタパッケージを通じて NuGet から入手できます。
個々のコンポーネントは NuGet からインストールすることもできます。
Webhook
テキストコマンドおよびインタラクションサービス。
API を完全にカバーします。
API コア。エンティティとベアボーン機能のみを実装します。
Nightlies は、まだ実験段階にあり、リリースされていない Discord.NET のビルドです。
これらは 2 つの異なるソースから入手できます。
注記
GitHub パッケージには認証が必要です。詳細については、こちらをご覧ください。
.NET Core 1.1 は、Win7 以前では WebSocket をサポートしていません。この問題は、.NET Core 2.1 のリリース以降修正されています。従来のプラットフォームでボットを実行する場合は、プロジェクトのターゲットとして .NET Core 2.1 以降をお勧めします。あるいは、Discord.Net.Providers.WS4Net パッケージのインストールを選択することもできます。
Discord は、2022 年 7 月 19 日以降、API を含むすべての Web サイトで TLS1.2+ のみをサポートしています。 .NET Framework は、デフォルトではこのプロトコルをサポートしません。 .NET Framework に依存している場合は、プロジェクトをnet6-windows
にアップグレードすることをお勧めします。このフレームワークは、fx によって導入された Windows のみの機能のほとんどをサポートし、TLS プロトコルの不一致による起動エラーを解決します。
このライブラリは通常、セマンティック バージョニングに従っています。パッケージはMAJOR.MINOR.PATCH
バージョン形式で公開されます。
PATCHコンポーネントの増分は常に、内部のみの変更 (通常はバグ修正) が行われたことを示します。これらの変更は、公開 API にはいかなる影響も与えず、コードベース、およびコードベースのプリコンパイルされた依存関係との上位互換性および下位互換性が常に保証されます。
MINORコンポーネントの増分は、ライブラリに何らかの追加が行われたことを示しますが、この追加には以前のバージョンとの下位互換性がありません。ただし、Discord.Net は、マイナーな追加に関しては前方互換性を保証しません。言い換えれば、マイナー バージョンのバンプに関して、制限付きの重大な変更を許可します。
Discord API の性質上、最新の API 変更をサポートするためにエンティティにプロパティを追加する必要があることがよくあります。 Discord.Net は、エンティティを使用する方法としてインターフェイスを提供します。したがって、エンティティに新しいフィールドを導入することは、技術的には重大な変更となります。メジャー バージョンのバンプは通常、ライブラリに対する何らかの大きな変更を示しているため、ライブラリにマイナーな追加が行われるたびにメジャー バージョンをバンプすることはためらわれます。妥協策として、インターフェースは消耗品としてのみ扱うべきであり、アプリケーションは通常インターフェースを実装すべきではないと決定しました。
テスト モックなど、インターフェイスが実装されているアプリケーションについては、SemVer との不一致をお詫び申し上げます。
マイナーなビルドで (インターフェースの変更以外で) API を壊すことはありませんが、Discord のアップストリームの変更を照合するメソッドにパラメーターを導入することにより、ABI を壊す必要がある場合があります。そのため、マイナー バージョンの増加によりコードの再コンパイルが必要になる場合があり、アドオンなどの依存関係も再コンパイルして新しいバージョンで再公開する必要がある場合があります。バイナリの重大な変更が行われた場合、その変更はリリース ノートに記載されます。
MAJORコンポーネントの増加は、ライブラリに重大な変更が加えられたことを示します。消費者はリリース ノートを確認して、どのような変更を加える必要があるかを判断する必要があります。
Major.Minor に続くリリースブランチ。リリース時に、パッチはこれらのブランチにプッシュされます。新しい NuGet リリースはこれらのブランチにタグ付けされます。
開発ブランチ。MyGet で入手できます。このブランチは、プル リクエストの対象となります。
新しい機能を追加する Dev を対象としたブランチ。これらのブランチを自由に探索し、必要に応じてフィードバックを提供してください。
通常は開発者をターゲットとします。これらのブランチは、新機能または既存の機能の改訂によりドキュメントを更新するために使用されます。