Repository navigation
Releases
Releases · gehongyan/Kook.Net
v0.11.2
Added
RecommendInfonow exposes theIsPlayFellowandGuildSearchproperties 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
Optimized
- Thanks to the KOOK server's support,
SocketGuildUser'sRoleIdsandRolesproperties will now update when a server user is granted or revoked roles.
Full Changelog: v0.11.0...v0.11.1
v0.11.0
Added
- Added support for parsing interactive emotes
InteractiveEmoteand rolled interactive emotes with resultsRolledInteractiveEmote. (#35) - Added
EmoteExtensionswith 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
Guidtype 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)
DefaultRestClientProviderused byKookRestConfignow supports construction with anHttpClientfactory. (#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
BaseMessageQueueconstructor now receives an additionalintparameter representing the message sequence number. (#39)
Optimized
- Refactored in-memory queue implementation, using
Channelinstead ofBlockingCollectionfor 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.HostingandMeziantou.Polyfill.
Full Changelog: v0.10.5...v0.11.0
v0.10.5
Added
- Added
DirectLinks, which provides a set of jump links supported by the KOOK client.
Fixed
- Fixed an issue where
RestGuild.Roleswas empty. (#29) - Fixed an issue where the
KMarkdownMentionformat ofRestRoleandSocketRolewas incorrect. (#31)
Changed
- Changed the accessibility of the
Cacheableconstructor topublic. ChannelExtensions.GetJumpUrlnow uses the officially supported jump link format for links obtained fromIGuildChannel.
Misc
- Optimized workflows to upload test results during commit checks and pull requests.
- Mutex now uses
System.Threading.Lockin .NET 9.0 and above. (#30)
Full Changelog: v0.10.4...v0.10.5
v0.10.4
Added
- Added support for disconnecting guild users from voice channels. (#26)
- Added support for automatically passing the
reply_msg_idparameter when modifying messages, used for daily message
send count quota consumption discount.
Full Changelog: v0.10.3...v0.10.4
v0.10.3
Fixed
- Resolved an issue where
ModifyPermissionOverwriteAsynccould fail in certain scenarios resulting fromAddPermissionOverwriteAsync.
Misc
- Fixed base image versions in
Dockerfiles in sample projects.
Full Changelog: v0.10.2...v0.10.3
v0.10.2
Fixes
- Resolved an issue where injected debugging methods in
KookDebuggerscaused application crashes when exceptions were thrown.
Changes
- Moved the configuration option
AutoLogoutBeforeLogintoKookSocketConfig.
Others
- Added builds targeting .NET 10 and upgraded the target framework of the sample and test projects to .NET 10.
- Migrated to the
slnxsolution format. - Migrated to CPM (centralized package management).
- Updated NuGet dependencies.
Full Changelog: v0.10.1...v0.10.2
v0.10.1
Added
- Added
KookRestConfig.AutoLogoutBeforeLogin, which configures whether to force logout other clients connected to the KOOK gateway when logging into theBaseKookClientclient. 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, andITextChannel.UnpinMessageAsyncto perform these operations. MessageReferencehas a new propertyReplyMessageId, which is used for daily message send limit discount. If thereplyMessageIdparameter is left empty in the constructor, it will automatically use the value of thequotedMessageIdparameter.
Full Changelog: v0.10.0...v0.10.1
v0.10.0
Update Path
This update includes some breaking changes. Please review the "Changed" section carefully.
Added
- Added static class
KookDebuggerto 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. ThreadExtensionsnow includes the extension methodGetJumpUrlto 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. ImageElementandImageElementBuidlernow support theFallbackUrlproperty.- Added support for the
RecordAudiopermission 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
VoiceQualityto use names that are independent of specific bitrate values. - Moved
Kook.Commands.MessageExtensions.TryExpandCardContenttoKook.MessageExtensions.TryExtractCardContent. IPermissionOverwrite<TTarget>has been changed toIPermissionOverwrite<TTarget, TId>. Now,TTarget Targetrepresents the target entity type for the permission overwrite,TId TargetIdrepresents the type of the target entity's ID, andPermissionOverwriteTarget TargetTypeindicates the type of the target.- For entities or data types returned by the KOOK API or delivered by the gateway, properties of type
DateTimeOffsetwithin interfaces or classes such asIThread,IThreadPost,IThreadReply,IMessage,IGuildUser,IIntimacy,IIntimacyRelation,IInvite,CountModule,Quote, andBoostSubscriptionMetadatanow 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
JsonElementto avoid an extra level of boxing. - Gateway payload deserialization now uses asynchronous methods.
- The
Card.Buildmethod now validates that theThemeisInvisibleonly 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
Added
- Added support for message template related APIs.
Debugmode log level now outputs the gateway session ID.
Changed
- Changed the
templateIdparameter type in message sending methods frominttoulongto 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