Документацию можно найти по адресу https://docs.discordnet.dev/index.html.
Discord.Net — это проект с открытым исходным кодом, лицензированный MIT, разработка которого стала возможной исключительно благодаря волонтерам. Если вы хотите поддержать наши усилия финансово, пожалуйста, рассмотрите:
Наши стабильные сборки доступны в NuGet через метапакет Discord.Net:
Отдельные компоненты также можно установить из NuGet:
Вебхуки
Текстовые команды и службы взаимодействия.
Полное покрытие API.
Ядро API. Реализует только сущности и базовые функции.
Nightlies — это сборки Discord.NET, которые все еще находятся на экспериментальной стадии и еще не выпущены.
Они доступны из двух разных источников:
Примечание
Пакеты GitHub требуют аутентификации. Дополнительную информацию можно найти здесь.
.NET Core 1.1 не поддерживает WebSockets в Win7 и более ранних версиях. Эта проблема устранена с момента выпуска .NET Core 2.1. Для вашего проекта рекомендуется использовать .NET Core 2.1 или более позднюю версию, если вы хотите запускать своего бота на устаревших платформах; альтернативно вы можете установить пакет Discord.Net.Providers.WS4Net.
Discord поддерживает только TLS1.2+ на всех своих сайтах, включая API, с 19.07.2022. .NET Framework не поддерживает этот протокол по умолчанию. Если вы зависите от .NET Framework, рекомендуется обновить ваш проект до net6-windows
. Эта платформа поддерживает большинство функций только для Windows, представленных fx, и устраняет ошибки запуска из-за несоответствия протокола TLS.
Эта библиотека обычно придерживается семантического управления версиями. Пакеты публикуются в формате версии MAJOR.MINOR.PATCH
.
Увеличение компонента PATCH всегда указывает на то, что было сделано только внутреннее изменение, обычно это исправление ошибки. Эти изменения никоим образом не повлияют на общедоступный API, и всегда гарантирована прямая и обратная совместимость с вашей кодовой базой, любыми предварительно скомпилированными зависимостями вашей кодовой базы.
Увеличение компонента MINOR указывает на то, что в библиотеку было внесено какое-то дополнение, и это дополнение не имеет обратной совместимости с предыдущими версиями. Однако Discord.Net не гарантирует совместимость с небольшими дополнениями. Другими словами, мы разрешаем ограниченный набор критических изменений при незначительном обновлении версии.
Из-за особенностей Discord API нам часто необходимо добавить свойство к объекту для поддержки последних изменений API. Discord.Net предоставляет интерфейсы как метод использования сущностей; и поэтому введение нового поля в сущность технически является кардинальным изменением. Изменения основной версии обычно указывают на некоторые серьезные изменения в библиотеке, и поэтому мы не решаемся обновлять основную версию для каждого незначительного дополнения к библиотеке. Чтобы пойти на компромисс, мы решили, что интерфейсы следует рассматривать только как потребляемые , и ваши приложения обычно не должны реализовывать интерфейсы.
Для приложений, в которых реализованы интерфейсы, например, в тестовых макетах, мы приносим извинения за это несоответствие с SemVer.
Хотя мы никогда не будем нарушать API (за исключением изменений интерфейса) в небольших сборках, иногда нам придется нарушать ABI, вводя параметры в метод для сопоставления изменений в исходной версии с Discord. Таким образом, небольшое увеличение версии может потребовать от вас перекомпиляции вашего кода, а зависимости, такие как надстройки, также могут потребоваться перекомпилировать и повторно опубликовать в более новой версии. При внесении двоичного критического изменения это изменение будет отмечено в примечаниях к выпуску.
Увеличение компонента MAJOR указывает на то, что в библиотеку были внесены критические изменения; потребителям следует ознакомиться с примечаниями к выпуску, чтобы определить, какие изменения необходимо внести.
Релизная ветка после Major.Minor. После выпуска патчи будут помещены в эти ветки. Новые выпуски NuGet будут отмечены тегами в этих ветках.
Ветка разработки доступна на MyGet. Эта ветка предназначена для запросов на включение.
Ветки, ориентированные на разработку, добавляющие новые функции. Не стесняйтесь исследовать эти ветки и при необходимости оставлять отзывы.
Обычно нацелен на Dev. Эти ветки используются для обновления документации либо новыми функциями, либо переработкой существующих функций.