Discord.Net Versions Save

An unofficial .Net wrapper for the Discord API (https://discord.com/)

3.14.1

1 month ago

[3.14.1] - 2024-03-19

  • Fix Discord.Net assembly version

[3.14.0] - 2024-03-19

This release brings a bunch of new Discord feature as well as some fixes. This release also brings initial support for User Apps. Interaction framework example for user app commands is available on our docs.

Deprecation notes

Due to deprecation of these properties in the API the following parts of the library were marked as Obsolete:

  • IsEnabledInDm properties of application commands & their corresponding builders
    • ContextTypes should be used instead.
  • EnabledInDmAttribute
    • CommandContextTypesAttribute should be used instead.
  • IMessage.Interaction
    • IUserMessage.InteractionMetadata should be used istead.

Added

  • #2849 Allow setting channel topic to null when creating channels (7c96844)
  • #2832 Add Icon size parameter to GetGuildIconUrl CDN method (eb5678a)
  • #2883 Initial user apps support (24a6978)
  • #2881 Bulk ban support (03402cd)
  • #2880 More banner support (4efe3be)
  • #2858 Allow setting custom status with SetGameAsync (ee386b1)
  • #2870 SentRequest event (fc2fc87)
  • #2873 Voice reconnection and resuming (09680c5)
  • #2879 Support setting banner on bot profiles (d0c0a56)

Fixed

  • #2866 Allow switching voice channels without disconnecting (external clients only) (5a62ba1)
  • #2857 Receiving voice packets (use system-assigned port) (1a16f4d)
  • #2850 NRE in automod audit logs (1eb7a53)
  • #2862 Fixed a bug when creating a SelectMenuBuilder from a SelectMenuComponent incorrectly set the CustomId (6870ac5)
  • Incorrect ConnectionState of a DiscordSocketClient casted to IDiscordClient/BaseSocketClient (955fae0)
  • #2867 InteractionService.AddModulesXAsync command duplication (2787db3)

Misc

  • #2806 Update library dependencies (bfc8dc2)
  • #2847 Remove some redundant notes & small updates (d0e9c8b)
  • #2854 Refactor MaxBitrate and UploadLimit in GuildHelper (6256de4)
  • #2869 Fix optional param being non-optional (fa51f0a)

3.13.1

2 months ago

[3.13.1] - 2024-02-11

This release fixes a couple of bugs within the library and adds some new features.

Added

  • #2804 Add Incident actions message types (178ff58)
  • #2805 Add AppliedTags to DiscordWebhookClient.SendXAsync (d382e5c)
  • #2700 Optional Aliasses, Summary and Remarks Properties to CommandAttribute (5a8582c)
  • #2584 Log InteractionCommand execution exceptions in Wrapped Exception (0f0f3f7)
  • #2827 44 (Add message type 44) (541571c)
  • #2837 Allow creating announcement channels (f1777de)

Fixed

  • #2801 Add null check in SelectMenuBuilder (b18cc31)
  • #2813 Incorrect json model for Guild Scheduled Events (de4b6b9)
  • #2800 Warning about missing intents not being logged (8227d70)
  • #2818 GetEventCoverImageUrl throwing NRE in case event cover image is null (138e18c)

Misc

  • #2807 Incorrect xmldoc (d234db7)
  • #2823 Update sample projects & samples in docs (e2e8c0f)
  • #2819 [2024] Very important changes (update licence & docs) (ff9b9b4)
  • #2831 Add checks for whitespace-only strings in button builder (89efe0f)
  • #2835 Additional select menu option validations (4d7e384)

3.13.0

5 months ago

[3.13.0] - 2023-11-18

This release adds a bunch of new Discord features into the library, as well as fixes some bugs.

Added

  • #2707 Added Super reactions support (9fd5c6c)
  • #2725 Added Media channel support (e3cd340)
  • #2753 Added additional Update/Modify Async Attachment's (ae275ab)
  • #2769 Added missing parameters to RespondWithModalAsync methods and implement missing overloads (4e78aec)
  • #2773 Added useful utility methods to ModalBuilder (8591de7)
  • #2776 Added Select menu default values (ac274d4)
  • #2777 Added Voice channel status support (8060dcf)
  • #2781 Added premium subscriptions support (7723f61)
  • #2782 Added Avatar decorations support (f64d9d6)
  • #2784 Added App subscriptions additional support (a9a8da4)
  • #2783 Added Guild incident actions (9b36df3)
  • #2787 Added Embed ToJsonString & (Try)Parse (7b5c40a)
  • #2791 Added Automod member profile moderation, new application fields, use clyde ai & guild invenory settings (699554a)
  • #2792 Added create roles with icons (b45b774)
  • #2796 Added clips support (poggers) (89bebc3)

Fixed

  • #2758 Fixed Slash Command Localizations lost after AddCommandsToGuildAsync and deleteMissing = false (8d5022a)
  • #2759 Fixed missing null checks in RoleConnectionProperties (ab3b30d)
  • #2766 Fixed UpdateAsync Remove Attachment Bug (a668757)
  • #2763 Fixed SocketKickAuditLogData User never having value (5cfec05)
  • #2770 Fixed URL encode timestamps sent as query parameters (589c58a)
  • #2774 Fixed some IDiscordClient methods are not properly implemented in clients (8baf913)
  • #2789 Fixed multiline values in short TextInputs (33e8340)

Misc

  • #2739 Remove some unnecessary async/await (86655a8)
  • #2754 Replace Moq with NSubstitute for Mocking in GuildHelperTests (b988a18)
  • #2765 Use Discord heartbeat interval in audio. (9cedfbc)
  • #2771 Extract GetDisplayAvatarUrl in IUser (b1787d8)

3.12.0

8 months ago

[3.12.0] - 2023-08-10

This release brings ease-of-life changes, bug fixes, and new methods for interacting with the Discord API.

Interaction changes

When deferring modals, if the model was a response to a slash command, the modal will be deferred with DeferredChannelMessageWithSource ; opposed to DeferredUpdateMessage which now allows proper deferration of modals (im making that a term now :D).

Added

  • #2644 Added ComponentBuilder component removal methods. (d5d7378)
  • #2668 Added a method for sending silent audio frames on OpusEncodeStream. (59094d2)
  • #2675 Added missing remove property to MemberRoleAudit. (5fb9152)
  • #2720 Added role & attachment flags (a421715)
  • #2723 Added missing properties to webhook implementation (2b8584d)
  • #2729 Added new onboarding methods/properties (8cd4c1c)
  • #2730 Added new ModifyCurrentApplication features (166d40f)
  • #2749 Added support for setting custom status (b2820d5)

Fixed

  • #2711 Fixed modifying guild resets preferred locale (12c50f2)
  • #2713 Fixed some ReplyAsync methods missing MessageFlags parameter. (56769cb)
  • #2714 Fixed disconnecting socket client not sending close code. (6bb3777)
  • #2722 Fixed modal's DeferAsync implementation (5f580f6)
  • #2726 Fixed global name not being passed to UserUpdated event (9dfd4d7)
  • #2742 Fixed ModifyAsync attachments #2236 (0c12079)
  • #2745 Fixed GetMessagesAsync with Direction.After not working as expected (c922497)

3.11.0

10 months ago

[3.11.0] - 2023-6-27

This release adds the new username system support to Discord.Net, along with fixes and other minor changes.

Notes:

  • InviteGuild was renamed to PartialGuild (#2619)

Added

  • #2616 Added guild Onboarding support (3a8f76c)
  • #2627 Added Audit Log Created gateway event support (dff6a57)
  • #2645 Added Message property and UpdateAsync() to IModalInteraction (83dfa0c)
  • #2648 Added MaxStageVideoChannelUsers property to IGuild (bdd755b)
  • #2665 Added voice messages support (f171684)
  • #2619 Added get current bot application information (9ef5a76)
  • #2649 Added SafetyAlertsChannelId to IGuild (2112e1f)
  • #2696 Added support for the new username system (df717e6)
  • #2620 Added support for filtering audit log entries by after id (529fe3d)
  • #2622 Added default thread ratelimit in guild text channels (f9c8530)

Fixed

  • #2628 Allow creating stickers with no description (c950106)
  • #2682 Fixed missing JsonProperty attributes in params for modifying automod rules (9df4438)
  • #2702 Fixed TypingStartedEvent model to support Clyde (547bc92)
  • #2652 Fixed streams being incorrectly disposed in DefaultRestClient (84431de)
  • #2708 Fixed threads not getting removed from cache on THREAD_DELETE (fe4130d)
  • #2688 Fixed some internal classes being public (9ddd922)
  • #2687 Allow more than 1 action to be registered per automod rule (200bed7)
  • #2683 Fixed mention limit, regex patterns & allowlist for automod rules (a41fa62)
  • #2663 Fixed T3 file upload size to be 25MiB (98f974d)
  • #2662 Fixed duplicate SlashCommandExecuted event on failed result (fe9657a)
  • #2651 Fixed name translations (NameLocalizations) for ChoiceAttribute (75ae488)
  • #2647 Fixed ChannelPermissions.All() exception on forums (6265dd5)
  • #2642 Enforce rate limits on 429s (69cce5b)

Misc

  • #2601 Add missing json error (a8ae1e9)
  • #2609 Refactor SendMessageAsync & SendFile(s)Async methods & modify webhook message attachments (898ee56)
  • #2646 Create forum channels with default layout (0720049)
  • #2666 Switch channel to channel_id in interactions (d5ba7d2)
  • #2670 Disable FEC in OPUS (2be9b00)

Thanks to the following contributors for this release

@Misha-133 @gehongyan @CollinHerber @kaskii @TrustNoOneElse @Cenngo @cjbonn @ben-reilly @KubaZ2 @bsdayo @AnalogFeelings @ThePheggHerself @MichaelMcCarthy117

3.10.0

1 year ago

[3.10.0] - 2023-03-17

This release adds AutoMod support, support for webhooks in forums, text-in-stage support, and much more. Notably, this release also fixes issues with voice related to the changes to Discords voice API.

Added

  • #2507 Added selects v2 support (48fb1b5)
  • #2509 Added SendFileAsync to UserExtensions (25cfb88)
  • #2510 Added missing invite guild properties & welcome screen support (7c535b9)
  • #2520 Added ClientDisconnect event for audio client. (4cad546)
  • #2521 Added OwnerId to IThreadChannel and RestThreadChannel
  • #2521 Added ActiveDeveloper to UserProperies
  • #2523 Added emojis from Emoji 13.0, Emoji 13.1 and Emoji 14.0 (23b2822)
  • #2528 Added wildcard length quantifiers and TreatAsRegex property
  • #2530 Added application Role Connections Metadata support (37d868f)
  • #2531 Added age restricted (NSFW) application commands support (56b1a93)
  • #2537 Added RemoveModulesFromGuildAsync (7acbcfd)
  • #2560 Added app Command channel target permission (2616d35)
  • #2562 Added new message types & error codes (a3ee855)
  • #2564 Added RespondWithModal() which accepts an IModal instance as template (e7bda0f)
  • #2571 Added guild member flags (7d8d6ec)
  • #2573 Added missing VoiceChannel properties (1e21a6e)
  • #2574 Added GetCurrentUser method to DiscordRestClient (e3da96f)
  • #2574 Added GetCurrentUserGuildMemberAsync method to DiscordRestClient and RestGuild (e3da96f)
  • #2574 Added GuildFeatures property to IUserGuild (e3da96f)
  • #2575 Added Thread property to RestMessage (91e2084)
  • #2578 Added AutoMod support (673b02d)
  • #2579 Added Thread property to IUserMessage (0998285)
  • #2580 Added thread user member & thread members pagination (b085621)
  • #2582 Added IIntegrationChannel (75f3c91)
  • #2582 Added support for creating webhooks in forums (75f3c91)
  • #2590 Added FollowAnnouncementChannelAsync to INewsChannel (bb056df)
  • #2591 Added support for silent mentions (2ea8af1)
  • #2599 Added AddModalCommand to ModalBuilder with option to specify callback (50e0e59)
  • #2605 Added GuildFeatures to GuildProperties (177df2c)
  • #2603 Added support for creating forum posts with DiscordWebhookClient (e69e27a)
  • #2610 Added Text-In-Stage support & missing IVoiceChannel properties (76bb901)
  • #2613 Added AutoMod custom block message (709364a)
  • #2615 Added missing invite properties (abfa8d1)

Fixed

  • #2483 Fixed an NRE when event was changed from in channel to external or vice versa (493f604)
  • #2526 Fixed GetActiveThreadsAsync & add it to ITextChannel (bd2f719)
  • #2528 Fixed catastrophic backtracking (3b107c2)
  • #2532 Fixed permissions on deleteMissing=false (274be5d)
  • #2540 Fixed reason not being included in audit logs when calling AddBanAsync and BanAsync (e71faf7)
  • #2541 Fixed CreatePost methods for IForumChannel (a53f1df)
  • #2549 Fixed NullReferenceException caused by Options being undefined. (02d3ce6)
  • #2557 Fixed customId template generator to escape regex metachars used in … (1602437)
  • #2577 Fixed GetEventCoverImageUrl (0af835a)
  • #2600 Fixed gateway deadlock (0c27395)
  • #2606 Fixed AutoMod action executed event message being null (7b321af)

Misc

  • #2542 Resolve inconsistencies with components (f224eb0)
  • #2546 Argument handling with thread tags(c67642a)
  • #2551 Format the project with 'dotnet format' (257f246)
  • #2561 Remove outdated checks (94996e7)
  • #2572 Reduce DateTime Boilerplate from LogMessage (14b2901)
  • #2614 Optimize Add/RemoveRolesAsync methods (11481a1)
  • #2617 Update IP discovery to send 74 bytes (66e6329)

3.9.0

1 year ago

[3.9.0] - 2022-12-23

This release properly implements all forum features and fixes a major issue with socket connections. Additionally, TimestampTag has received a functionality revision, which may be cause for minor refactor when compiling against the new version.

Thanks to the following contributors for this release

  • @Rozen4334
  • @Misha-133
  • @Quahu
  • @MihaZupan
  • @gehongyan
  • @Trosclair
  • @Cenngo
  • @F0903
  • @1NieR
  • @Halbritter

Added

  • #2469 Add missing properties in forum & thread channels (01ae904)
  • #2501 Add new discord stuff (ed38635)
  • #2521 Add missing property & new stuff (82b772a)
  • #2520 Implemented ClientDisconnect event for audio client. (4cad546)
  • #2509 Add SendFiles to UserExtensions ( 4cad546)
  • #2528 Implement wildcard lenght quantifiers, TreatAsRegex property and solve catastrpohic backtracking (25cfb88)
  • #2531 Add Age restricted (NSFW) application commands support (60956c7)

Fixed

  • #2500 Fix duplicated members of DiscordErrorCode (6712ef4)
  • #2468 Fix TimestampTag being sadge (bc89d3c)
  • #2497 Avoid throwing on missing Application (7077c44)
  • #2485 Fixed an oversight clearing session data upon any disconnect. (c7ac59d)
  • #2526 Fix GetActiveThreadsAsync & add it to ITextChannel (bd2f719)
  • #2535 Fix deploy.yml (20d8fdf)

Misc

  • #2471 Update samples to use MessageContent intent & update v2 => v3 guide (a4d34f6)
  • #2505 Update events.cs (ea039b8)
  • #2467 Update license and icon nuspec props (11ed0ff)
  • #2306 Command execution code rework & TypeConverters auto-scope fix (6869817)
  • #2534 Fully qualify SlashCommandBuilder namespace ( 3b107c2)

3.8.1

1 year ago

[3.8.1] - 2022-09-12

This release introduces bug fixes mainly targeting the ones related to App Command localizations. This release additionally changes the target API version of the library.

Thanks to the following contributers for this release

  • @KubaZ2
  • @Polybroo
  • @Cenngo
  • @Rozen4334
  • @D-Kay6
  • @akaJuliaan
  • @SaculRennorb
  • @d4n3436
  • @Hampo
  • @quinchs
  • @essoperagma
  • @Hampo

Added

  • #2437 Added scheduled event types to AuditLog ActionTypes (fca9c6b)
  • #2423 Added support for resume gateway url (d4c533a)

Fixed

  • #2443 Fixed typos of word length (adf012d)
  • #2438 Fixed http query symbol in ModifyWebhookMessageAsync (0aa381d)
  • #2444 Fixed BulkOverwriteCommands NRE (9feb703)
  • #2417 Fixed CommandService RemoveModuleMethod not removing modules (fca9c6b)
  • #2345 Fixed EmbedBuilder.Length NRE (11ece4b)
  • #2453 Fixed NRE on SlashCommandBuilder.Build method (5073afa)
  • #2457 Fixed typo in SlashCommandBuilder.AddNameLocalizationMethod (1b01fed)

Misc

  • #2462 Add additional checks for gateway event warnings (b45b152)
  • #2448 Bump to Discord API V10 (fbc5ad4)
  • #2451 Return a list instead of an array in GetModulePath and GetChoicePath methods (370bdfa)
  • #2453 Update app commands regex and fix localization on app context commands (3dec99f)
  • #2333 Update package logo (2b86a79)

3.8.0

1 year ago

[3.8.0] - 2022-08-27

Upgrade Path

This version changes the method signature of every Get*ApplicationCommandsAsync method to feature two new parameters (withLocalizations, locale), see commit 39bbd29. Additionally, the method signature of every Send* method of IRestClient now accepts a new requestHeaders parameter, custom implementations of IRestClient need to be updated.

Thanks to the following contributers for this release

  • @wberdowski
  • @Misha-133
  • @Cenngo
  • @IvMisticos
  • @Rozen4334
  • @CottageDwellingCat
  • @zaanposni
  • @SKProCH
  • @Pusheon
  • @LXGaming
  • @d4n3436
  • @gutyina70
  • @BobVul
  • @1NieR
  • @KubaZ2
  • @cpurules
  • @gehongyan

Added

  • #2384 Added support for the WEBHOOKS_UPDATED event (010e8e8)
  • #2370 Add async callbacks for IModuleBase (503fa75)
  • #2367 Added DeleteMessagesAsync for TIV and added remaining rate limit in client log (f178660)
  • #2379 Added Max/Min length fields for ApplicationCommandOption (e551431)
  • #2369 Added support for using RespondWithModalAsync<IModal>() without prior IModal declaration (500e7b4)
  • #2347 Added Embed field comparison operators (89a8ea1)
  • #2359 Added support for creating lottie stickers (32b03c8)
  • #2395 Added App Command localization support and ILocalizationManager to IF (39bbd29)

Fixed

  • #2425 Fix missing Fact attribute in ColorTests (92215b1)
  • #2424 Fix IGuild.GetBansAsync() (b7b7964)
  • #2416 Fix role icon & emoji assignment (b6b5e95)
  • #2414 Fix NRE on RestCommandBase Data (02bc3b7)
  • #2421 Fix placeholder length being hardcoded (8dfe19f)
  • #2352 Fix issues related to the absence of bot scope (1eb42c6)
  • #2346 Fix IGuild.DisconnectAsync(IUser) not disconnecting users (ba02416)
  • #2404 Fix range of issues presented by 3rd party analyzer (902326d)
  • #2409 Removes GroupContext from requirecontext (b0b8167)

Misc

  • #2366 Fixed typo in ChannelUpdatedEvent's documentation (cfd2662)
  • #2408 Fix sharding sample throwing at appcommand registration (519deda)
  • #2420 Fix broken code snippet in dependency injection docs (ddcf68a)
  • #2430 Add a note about DontAutoRegisterAttribute (917118d)
  • #2418 Update xmldocs to reflect the ConnectedUsers split (65b98f8)
  • #2415 Adds missing DI entries in TOC (c49d483)
  • #2407 Introduces high quality dependency injection documentation (6fdcf98)
  • #2348 Added RequiredInput attribute to example in int.framework intro (ee6e0ad)
  • #2385 Add ServerStarter.Host to deployment.md (06ed995)
  • #2405 Add a note about IgnoreGroupNames to IF docs (cf25acd)
  • #2356 Makes voice section about precompiled binaries more visible (e0d68d4 )
  • #2405 IF intro docs improvements (246282d)
  • #2406 Labs deprecation & readme/docs edits (bf493ea)

3.7.2

1 year ago

[3.7.2] - 2022-06-02

Added

  • #2328 Add method overloads to InteractionService (0fad3e8)
  • #2336 Add support for attachments on interaction response type 7 (35db22e)
  • #2338 AddOptions no longer has an uneeded restriction, added AddOptions to SlashCommandOptionBuilder (3a37f89)

Fixed

  • #2342 Disable TIV restrictions for rollout of TIV (7adf516)