Skip to content

Releases: gehongyan/Kook.Net

v0.10.3

14 Nov 16:37

Choose a tag to compare

Fixed

  • Resolved an issue where ModifyPermissionOverwriteAsync could fail in certain scenarios resulting from AddPermissionOverwriteAsync.

Misc

  • Fixed base image versions in Dockerfiles in sample projects.

Full Changelog: v0.10.2...v0.10.3

v0.10.2

12 Nov 05:56

Choose a tag to compare

Fixes

  • Resolved an issue where injected debugging methods in KookDebuggers caused application crashes when exceptions were thrown.

Changes

  • Moved the configuration option AutoLogoutBeforeLogin to KookSocketConfig.

Others

  • Added builds targeting .NET 10 and upgraded the target framework of the sample and test projects to .NET 10.
  • Migrated to the slnx solution format.
  • Migrated to CPM (centralized package management).
  • Updated NuGet dependencies.

Full Changelog: v0.10.1...v0.10.2

v0.10.1

19 Sep 14:19

Choose a tag to compare

Added

  • Added KookRestConfig.AutoLogoutBeforeLogin, which configures whether to force logout other clients connected to the KOOK gateway when logging into the BaseKookClient client. This ensures that the current client's connection will not miss any business events due to connections from other clients.
  • Added support for pinning and unpinning messages in text channels. You can use methods such as IUserMessage.PinAsync, IUserMessage.UnpinAsync, ITextChannel.PinMessageAsync, and ITextChannel.UnpinMessageAsync to perform these operations.
  • MessageReference has a new property ReplyMessageId, which is used for daily message send limit discount. If the replyMessageId parameter is left empty in the constructor, it will automatically use the value of the quotedMessageId parameter.

Full Changelog: v0.10.0...v0.10.1

v0.10.0

23 Jul 14:59

Choose a tag to compare

Update Path

This update includes some breaking changes. Please review the "Changed" section carefully.

Added

  • Added static class KookDebugger to support outputting debugging information related to Kook.Net's underlying API requests, gateway payloads, rate limiting, and voice logs for interactions with the KOOK server.
  • Added support for publishing, retrieving, and deleting threads, posts, and replies within thread channels (IThreadChannel). Also added support for retrieving the default layout (DefaultLayout) and default sort mode (DefaultSortMode) of thread channels.
  • ThreadExtensions now includes the extension method GetJumpUrl to retrieve jump links for thread-related entities.
  • Added support for retrieving the currently effective gateway intents via KookSocketClient.GatewayIntents.
  • Added the error code enum value KookErrorCode.ThreadContentAuditing.
  • ImageElement and ImageElementBuidler now support the FallbackUrl property.
  • Added support for the RecordAudio permission value in server and channel permission enums.
  • (Experimental Feature) Added support for searching thread topic tags by keyword via QueryThreadTagsAsync.

Changed

  • Changed the enum values of VoiceQuality to use names that are independent of specific bitrate values.
  • Moved Kook.Commands.MessageExtensions.TryExpandCardContent to Kook.MessageExtensions.TryExtractCardContent.
  • IPermissionOverwrite<TTarget> has been changed to IPermissionOverwrite<TTarget, TId>. Now, TTarget Target represents the target entity type for the permission overwrite, TId TargetId represents the type of the target entity's ID, and PermissionOverwriteTarget TargetType indicates the type of the target.
  • For entities or data types returned by the KOOK API or delivered by the gateway, properties of type DateTimeOffset within interfaces or classes such as IThread, IThreadPost, IThreadReply, IMessage, IGuildUser, IIntimacy, IIntimacyRelation, IInvite, CountModule, Quote, and BoostSubscriptionMetadata now default to the local machine's time zone.

Fixed

  • Fixed issues with methods for adding and removing guild bans failing.

Optimized

  • The type for gateway payloads has been changed to JsonElement to avoid an extra level of boxing.
  • Gateway payload deserialization now uses asynchronous methods.
  • The Card.Build method now validates that the Theme is Invisible only for module types that support borderless cards.

Misc

  • Added quick reference documentation for thread-related interfaces.

Full Changelog: v0.9.11...v0.10.0

v0.9.11

25 Jun 14:21

Choose a tag to compare

Added

  • Added support for message template related APIs.
  • Debug mode log level now outputs the gateway session ID.

Changed

  • Changed the templateId parameter type in message sending methods from int to ulong to support a larger message ID range.

Fixed

  • Fixed an issue where changes in the gradient color data structure for roles caused application startup failures.

Misc

  • Added a quick reference document for the message template API.

Full Changelog: v0.9.10...v0.9.11

v0.9.10

18 Jun 09:51

Choose a tag to compare

Fixed

  • Fixed an issue where the text command framework could not correctly parse file, audio, and video card modules as Uri parameters.

Full Changelog: v0.9.9...v0.9.10

v0.9.9

01 Jun 08:15

Choose a tag to compare

Fixed

  • Fixed an issue where enum parameters are not correctly registered in the text command framework. (#22)

Full Changelog: v0.9.8...v0.9.9

v0.9.8

20 May 06:55

Choose a tag to compare

Added

  • Added BaseSocketClient.UnknownDispatchReceived for handling unknown event types.
  • Added KookSocketConfig.SuppressUnknownDispatchWarnings to suppress warnings for unknown event types.

Fixed

  • Fixed an issue where RelationType and CreatedAt on IIntimacyRelation could be null, causing problems retrieving intimacy relation information. These properties are now nullable.
  • Fixed a potential issue where SocketMessage.Update could block asynchronous threads abnormally.

Others

  • Updated related dependency versions.
  • Migrated the test framework to xunit.v3.

Full Changelog: v0.9.7...v0.9.8

v0.9.7

09 Mar 04:48

Choose a tag to compare

Added

  • Added support for multi-instance injection of Webhook clients.

Fixed

  • Fixed an issue where the overload method of AddKookAspNetWebhookClient receiving KookAspNetWebhookConfig failed to properly register client instances.

Misc

  • Removed dependency on FluentAssertions.
  • Fixed null reference warnings in F# sample code.
  • Optimized entity creation process in integration test projects by using IAsyncLifetime.
  • Improved the OAuth sample project by providing example code for retrieving joined guilds.

Full Changelog: v0.9.6...v0.9.7

v0.9.6

08 Jan 15:06

Choose a tag to compare

Added

  • Added support for managing intimate relationships.
  • The pipe message client now supports sending card messages, as well as quoting messages and ephemeral user.
  • Added the Modules property to the ICard interface.

Fixed

  • Corrected the rate value for preemptive rate limiting.
  • Fixed an issue where the maximum capacity of the message cache could overflow.
  • Fixed an issue where the cache was not properly updated when a guild channel was deleted.

Misc

  • Removed support for the .NET 6.0 target framework. Updated the target framework for dependency injection, message queue, and hosting extension packages to .NET 9.0.
  • Updated all externally referenced NuGet packages to their latest versions.

Full Changelog: v0.9.5...v0.9.6