Skip to content

Releases

v0.11.2

Choose a tag to compare

@gehongyan gehongyan released this 20 Oct 08:45
99e5c68

Added

  • RecommendInfo now exposes the IsPlayFellow and GuildSearch properties for recommended guilds.
  • (Experimental) Added WebRTC-based voice support.

Misc

  • Deployed Kook.Net documentation MCP server.

Full Changelog: v0.11.1...v0.11.2

v0.11.1

Choose a tag to compare

@gehongyan gehongyan released this 05 Jul 12:31
d26c2ce

Optimized

  • Thanks to the KOOK server's support, SocketGuildUser's RoleIds and Roles properties will now update when a server user is granted or revoked roles.

Full Changelog: v0.11.0...v0.11.1

v0.11.0

Choose a tag to compare

@gehongyan gehongyan released this 24 Feb 02:27
9e7c566

Added

  • Added support for parsing interactive emotes InteractiveEmote and rolled interactive emotes with results RolledInteractiveEmote. (#35)
  • Added EmoteExtensions with utility methods for obtaining interactive emote resource URLs. (#35)
  • Added support for retrieving user KPM VIP information and voice channel wealth level. (#33)
  • Added support for parsing Guid type parameters in the text command framework. (#34)
  • Added support for retrieving guild join restrictions. (#37)
  • Added support for retrieving recommended guild rare ID (vanity) information. (#40)
  • DefaultRestClientProvider used by KookRestConfig now supports construction with an HttpClient factory. (#41)
  • Added .NET 10 target framework to service and hosting related extension packages. (#42)
  • In-memory queue extension package now supports a buffered queue that corrects message sequence numbers. (#39)
  • (Experimental) Added guild security management related methods, including behavior restrictions and content filtering. (#38)

Changed

  • The delegate parameter of the BaseMessageQueue constructor now receives an additional int parameter representing the message sequence number. (#39)

Optimized

  • Refactored in-memory queue implementation, using Channel instead of BlockingCollection for better performance. (#39)
  • Replaced PolySharp with Meziantou.Polyfill source generator approach for multi-target framework method implementations. (#44)

Misc

  • Optimized target frameworks and package references. (#44)
  • Added license declaration for MassTransit.Extensions.Hosting and Meziantou.Polyfill.

Full Changelog: v0.10.5...v0.11.0

v0.10.5

Choose a tag to compare

@gehongyan gehongyan released this 09 Jan 02:15
205a1dc

Added

  • Added DirectLinks, which provides a set of jump links supported by the KOOK client.

Fixed

  • Fixed an issue where RestGuild.Roles was empty. (#29)
  • Fixed an issue where the KMarkdownMention format of RestRole and SocketRole was incorrect. (#31)

Changed

  • Changed the accessibility of the Cacheable constructor to public.
  • ChannelExtensions.GetJumpUrl now uses the officially supported jump link format for links obtained from IGuildChannel.

Misc

  • Optimized workflows to upload test results during commit checks and pull requests.
  • Mutex now uses System.Threading.Lock in .NET 9.0 and above. (#30)

Full Changelog: v0.10.4...v0.10.5

v0.10.4

Choose a tag to compare

@gehongyan gehongyan released this 23 Dec 12:40

Added

  • Added support for disconnecting guild users from voice channels. (#26)
  • Added support for automatically passing the reply_msg_id parameter when modifying messages, used for daily message
    send count quota consumption discount.

Full Changelog: v0.10.3...v0.10.4

v0.10.3

Choose a tag to compare

@gehongyan gehongyan released this 14 Nov 16:37

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

Choose a tag to compare

@gehongyan gehongyan released this 12 Nov 05:56

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

Choose a tag to compare

@gehongyan gehongyan released this 19 Sep 14:19

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

Choose a tag to compare

@gehongyan gehongyan released this 23 Jul 14:59

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

Choose a tag to compare

@gehongyan gehongyan released this 25 Jun 14:21

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