From b976bf03de59f44aad563519d5f0ef765bb781b1 Mon Sep 17 00:00:00 2001 From: Hope <34831095+HopeBaron@users.noreply.github.com> Date: Mon, 20 Mar 2023 21:02:01 +0200 Subject: [PATCH] Implement forums (#684) * add forum error codes * update docs of Permission.SendMessages for forums * add ChannelType.GuildForum * add ChannelFlags * add DiscordChannel.flags * add ChannelData.flags * add Channel.flags * add cache updates for lastMessageId of forum channels * Implmenet high level abstractions * Error 220003 * API dump * Fix compile error * More error codes * Add `ChannelFlag.RequireTag` * Add `thread_name` for execute webhook * Regenerate `ChannelType` * Remove `nsfwLevel` from channel * Dump API * Add SortOrderType * Add missing fields to DiscordChannel * Imports * Add missing properties for channel builders (#712) * Add missing properties for create forum channel * api dump * add missing fields in the other builders * api dump * move flags to forum threads * apply suggestions * Small fixes Co-authored-by: Lukellmann * TextChannelModifyBuilder.defaultThreadRateLimitPerUser * Update KDoc for ChannelType.PublicGuildThread see https://github.com/discord/discord-api-docs/pull/5556 * Add ChannelData.defaultSortOrder (#727) * Add default forum layout (#749) * Fix nullability and docs * Add missing default layout to core type (#752) * Message counts and position for channel and message (#726) * Message counts and position for channel and message * Api Dump * Is this dump better? * Update caches for message count and total message sent * Fix merge * Forum posts (#709) * support for creating forum posts * api dump * support for uploading files on forum posts * more support to forums and forum threads * fix errors * maintain code consistency * add forum tag routes * Api Dump * Update Intent KDoc * Check for applied tags * Remove ForumChannelThread type * Move possible functions to ForumChannelBehavior * add applied tags to modify builder * Properly configure JVM auto-provisioning * Fix appliedTags mutability * Fix spacings * Final fixes --------- Co-authored-by: Luis <40919071+dookon@users.noreply.github.com> Co-authored-by: Lukellmann Co-authored-by: hope Co-authored-by: Michael Rittmeister --------- Co-authored-by: Lukellmann Co-authored-by: Lukellmann <47486203+Lukellmann@users.noreply.github.com> Co-authored-by: Luis <40919071+dookon@users.noreply.github.com> Co-authored-by: NoComment <67918617+NoComment1105@users.noreply.github.com> Co-authored-by: Michael Rittmeister Co-authored-by: Luis --- common/api/common.api | 232 +++++++++- .../dev/kord/common/entity/ChannelType.kt | 9 +- .../dev/kord/common/entity/ForumLayoutType.kt | 94 ++++ .../dev/kord/common/entity/SortOrderType.kt | 86 ++++ .../src/main/kotlin/entity/DiscordChannel.kt | 183 +++++++- .../src/main/kotlin/entity/DiscordMessage.kt | 4 +- common/src/main/kotlin/entity/Permission.kt | 5 +- core/api/core.api | 340 +++++++++----- .../src/main/kotlin/behavior/GuildBehavior.kt | 10 + .../behavior/channel/ForumChannelBehavior.kt | 77 ++++ .../behavior/channel/NewsChannelBehavior.kt | 33 +- .../behavior/channel/TextChannelBehavior.kt | 61 ++- .../threads/ThreadParentChannelBehavior.kt | 26 +- .../src/main/kotlin/cache/data/ChannelData.kt | 22 +- .../src/main/kotlin/cache/data/MessageData.kt | 7 +- core/src/main/kotlin/entity/Message.kt | 7 + .../src/main/kotlin/entity/channel/Channel.kt | 32 +- .../kotlin/entity/channel/ForumChannel.kt | 44 ++ .../main/kotlin/entity/channel/NewsChannel.kt | 7 + .../main/kotlin/entity/channel/TextChannel.kt | 9 +- .../entity/channel/ThreadParentChannel.kt | 17 +- .../channel/thread/TextChannelThread.kt | 1 - .../entity/channel/thread/ThreadChannel.kt | 23 +- .../event/channel/ChannelCreateEvent.kt | 11 + .../event/channel/ChannelDeleteEvent.kt | 11 + .../event/channel/ChannelUpdateEvent.kt | 12 + .../gateway/handler/MessageEventHandler.kt | 34 +- .../gateway/handler/ThreadEventHandler.kt | 11 + core/src/test/kotlin/live/LiveMessageTest.kt | 2 +- rest/api/rest.api | 436 ++++++++++++++++-- .../channel/EditGuildChannelBuilder.kt | 132 +++++- .../channel/ForumChannelCreateBuilder.kt | 122 +++++ .../channel/TextChannelCreateBuilder.kt | 4 + .../thread/ForumThreadModifyBuilder.kt | 55 +++ .../channel/thread/StartForumThreadBuilder.kt | 59 +++ .../channel/thread/StartThreadBuilder.kt | 31 -- .../thread/StartThreadWithMessageBuilder.kt | 20 +- .../StartThreadWithoutMessageBuilder.kt | 38 ++ .../channel/thread/ThreadModifyBuilder.kt | 7 +- .../builder/guild/GuildCreateBuilder.kt | 10 + .../create/ForumMessageCreateBuilder.kt | 55 +++ .../create/WebhookMessageCreateBuilder.kt | 10 +- rest/src/main/kotlin/json/JsonErrorCode.kt | 33 ++ .../kotlin/json/request/ChannelRequests.kt | 38 +- .../main/kotlin/json/request/GuildRequests.kt | 11 + .../kotlin/json/request/MessageRequests.kt | 18 + .../kotlin/json/request/WebhookRequests.kt | 4 +- rest/src/main/kotlin/route/Route.kt | 23 + .../src/main/kotlin/service/ChannelService.kt | 98 +++- rest/src/main/kotlin/service/GuildService.kt | 9 + 50 files changed, 2331 insertions(+), 292 deletions(-) create mode 100644 common/build/generated/ksp/main/kotlin/dev/kord/common/entity/ForumLayoutType.kt create mode 100644 common/build/generated/ksp/main/kotlin/dev/kord/common/entity/SortOrderType.kt create mode 100644 core/src/main/kotlin/behavior/channel/ForumChannelBehavior.kt create mode 100644 core/src/main/kotlin/entity/channel/ForumChannel.kt create mode 100644 rest/src/main/kotlin/builder/channel/ForumChannelCreateBuilder.kt create mode 100644 rest/src/main/kotlin/builder/channel/thread/ForumThreadModifyBuilder.kt create mode 100644 rest/src/main/kotlin/builder/channel/thread/StartForumThreadBuilder.kt delete mode 100644 rest/src/main/kotlin/builder/channel/thread/StartThreadBuilder.kt create mode 100644 rest/src/main/kotlin/builder/channel/thread/StartThreadWithoutMessageBuilder.kt create mode 100644 rest/src/main/kotlin/builder/message/create/ForumMessageCreateBuilder.kt diff --git a/common/api/common.api b/common/api/common.api index 857c7bbd3c1f..37721832bbfc 100644 --- a/common/api/common.api +++ b/common/api/common.api @@ -1436,6 +1436,50 @@ public final class dev/kord/common/entity/ButtonStyle$Unknown : dev/kord/common/ public fun (I)V } +public final class dev/kord/common/entity/ChannelFlag : java/lang/Enum { + public static final field Pinned Ldev/kord/common/entity/ChannelFlag; + public static final field RequireTag Ldev/kord/common/entity/ChannelFlag; + public final fun getCode ()I + public final fun plus (Ldev/kord/common/entity/ChannelFlag;)Ldev/kord/common/entity/ChannelFlags; + public final fun plus (Ldev/kord/common/entity/ChannelFlags;)Ldev/kord/common/entity/ChannelFlags; + public static fun valueOf (Ljava/lang/String;)Ldev/kord/common/entity/ChannelFlag; + public static fun values ()[Ldev/kord/common/entity/ChannelFlag; +} + +public final class dev/kord/common/entity/ChannelFlags { + public static final field Companion Ldev/kord/common/entity/ChannelFlags$Companion; + public final fun component1 ()I + public final fun contains (Ldev/kord/common/entity/ChannelFlag;)Z + public final fun contains (Ldev/kord/common/entity/ChannelFlags;)Z + public final fun copy (I)Ldev/kord/common/entity/ChannelFlags; + public final fun copy (Lkotlin/jvm/functions/Function1;)Ldev/kord/common/entity/ChannelFlags; + public static synthetic fun copy$default (Ldev/kord/common/entity/ChannelFlags;IILjava/lang/Object;)Ldev/kord/common/entity/ChannelFlags; + public fun equals (Ljava/lang/Object;)Z + public final fun getCode ()I + public final fun getFlags ()Ljava/util/List; + public fun hashCode ()I + public final fun minus (Ldev/kord/common/entity/ChannelFlag;)Ldev/kord/common/entity/ChannelFlags; + public final fun minus (Ldev/kord/common/entity/ChannelFlags;)Ldev/kord/common/entity/ChannelFlags; + public final fun plus (Ldev/kord/common/entity/ChannelFlag;)Ldev/kord/common/entity/ChannelFlags; + public final fun plus (Ldev/kord/common/entity/ChannelFlags;)Ldev/kord/common/entity/ChannelFlags; + public fun toString ()Ljava/lang/String; +} + +public final class dev/kord/common/entity/ChannelFlags$Builder { + public fun ()V + public fun (I)V + public synthetic fun (IILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun build ()Ldev/kord/common/entity/ChannelFlags; + public final fun unaryMinus (Ldev/kord/common/entity/ChannelFlag;)V + public final fun unaryMinus (Ldev/kord/common/entity/ChannelFlags;)V + public final fun unaryPlus (Ldev/kord/common/entity/ChannelFlag;)V + public final fun unaryPlus (Ldev/kord/common/entity/ChannelFlags;)V +} + +public final class dev/kord/common/entity/ChannelFlags$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public abstract class dev/kord/common/entity/ChannelType { public static final field Companion Ldev/kord/common/entity/ChannelType$Companion; public synthetic fun (ILkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -1466,6 +1510,10 @@ public final class dev/kord/common/entity/ChannelType$GuildDirectory : dev/kord/ public static final field INSTANCE Ldev/kord/common/entity/ChannelType$GuildDirectory; } +public final class dev/kord/common/entity/ChannelType$GuildForum : dev/kord/common/entity/ChannelType { + public static final field INSTANCE Ldev/kord/common/entity/ChannelType$GuildForum; +} + public final class dev/kord/common/entity/ChannelType$GuildNews : dev/kord/common/entity/ChannelType { public static final field INSTANCE Ldev/kord/common/entity/ChannelType$GuildNews; } @@ -2729,9 +2777,9 @@ public final class dev/kord/common/entity/DiscordBotActivity$Companion { public final class dev/kord/common/entity/DiscordChannel { public static final field Companion Ldev/kord/common/entity/DiscordChannel$Companion; - public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (IILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;IILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/Snowflake; public final fun component10 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component11 ()Ldev/kord/common/entity/optional/OptionalInt; @@ -2751,19 +2799,35 @@ public final class dev/kord/common/entity/DiscordChannel { public final fun component24 ()Ldev/kord/common/entity/optional/Optional; public final fun component25 ()Ldev/kord/common/entity/optional/Optional; public final fun component26 ()Ldev/kord/common/entity/optional/Optional; + public final fun component27 ()Ldev/kord/common/entity/optional/Optional; + public final fun component28 ()Ldev/kord/common/entity/optional/OptionalInt; + public final fun component29 ()Ldev/kord/common/entity/optional/Optional; public final fun component3 ()Ldev/kord/common/entity/optional/OptionalSnowflake; + public final fun component30 ()Ldev/kord/common/entity/optional/Optional; + public final fun component31 ()Ldev/kord/common/entity/optional/Optional; + public final fun component32 ()Ldev/kord/common/entity/optional/Optional; + public final fun component33 ()Ldev/kord/common/entity/optional/Optional; + public final fun component34 ()Ldev/kord/common/entity/optional/Optional; + public final fun component35 ()Ldev/kord/common/entity/optional/Optional; public final fun component4 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component5 ()Ldev/kord/common/entity/optional/Optional; public final fun component6 ()Ldev/kord/common/entity/optional/Optional; public final fun component7 ()Ldev/kord/common/entity/optional/Optional; public final fun component8 ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun component9 ()Ldev/kord/common/entity/optional/OptionalSnowflake; - public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/common/entity/DiscordChannel; - public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordChannel;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordChannel; + public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/common/entity/DiscordChannel; + public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordChannel;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;IILjava/lang/Object;)Ldev/kord/common/entity/DiscordChannel; public fun equals (Ljava/lang/Object;)Z public final fun getApplicationId ()Ldev/kord/common/entity/optional/OptionalSnowflake; + public final fun getAppliedTags ()Ldev/kord/common/entity/optional/Optional; + public final fun getAvailableTags ()Ldev/kord/common/entity/optional/Optional; public final fun getBitrate ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultForumLayout ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultReactionEmoji ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultSortOrder ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultThreadRateLimitPerUser ()Ldev/kord/common/entity/optional/Optional; + public final fun getFlags ()Ldev/kord/common/entity/optional/Optional; public final fun getGuildId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun getIcon ()Ldev/kord/common/entity/optional/Optional; public final fun getId ()Ldev/kord/common/entity/Snowflake; @@ -2771,6 +2835,7 @@ public final class dev/kord/common/entity/DiscordChannel { public final fun getLastPinTimestamp ()Ldev/kord/common/entity/optional/Optional; public final fun getMember ()Ldev/kord/common/entity/optional/Optional; public final fun getMemberCount ()Ldev/kord/common/entity/optional/OptionalInt; + public final fun getMessage ()Ldev/kord/common/entity/optional/Optional; public final fun getMessageCount ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getName ()Ldev/kord/common/entity/optional/Optional; public final fun getNsfw ()Ldev/kord/common/entity/optional/OptionalBoolean; @@ -2784,6 +2849,7 @@ public final class dev/kord/common/entity/DiscordChannel { public final fun getRtcRegion ()Ldev/kord/common/entity/optional/Optional; public final fun getThreadMetadata ()Ldev/kord/common/entity/optional/Optional; public final fun getTopic ()Ldev/kord/common/entity/optional/Optional; + public final fun getTotalMessageSent ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getType ()Ldev/kord/common/entity/ChannelType; public final fun getUserLimit ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getVideoQualityMode ()Ldev/kord/common/entity/optional/Optional; @@ -2807,6 +2873,14 @@ public final class dev/kord/common/entity/DiscordChannel$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/kord/common/entity/DiscordChannelKt { + public static final fun ChannelFlags (Ljava/lang/Iterable;)Ldev/kord/common/entity/ChannelFlags; + public static final fun ChannelFlags (Lkotlin/jvm/functions/Function1;)Ldev/kord/common/entity/ChannelFlags; + public static final fun ChannelFlags ([Ldev/kord/common/entity/ChannelFlag;)Ldev/kord/common/entity/ChannelFlags; + public static final fun ChannelFlags ([Ldev/kord/common/entity/ChannelFlags;)Ldev/kord/common/entity/ChannelFlags; + public static final fun ChannelFlags0 (Ljava/lang/Iterable;)Ldev/kord/common/entity/ChannelFlags; +} + public final class dev/kord/common/entity/DiscordChatComponent : dev/kord/common/entity/DiscordComponent { public static final field Companion Ldev/kord/common/entity/DiscordChatComponent$Companion; public synthetic fun (ILdev/kord/common/entity/ComponentType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V @@ -3000,6 +3074,37 @@ public final class dev/kord/common/entity/DiscordConnectionVisibility$Unknown : public fun (I)V } +public final class dev/kord/common/entity/DiscordDefaultReaction { + public static final field Companion Ldev/kord/common/entity/DiscordDefaultReaction$Companion; + public synthetic fun (ILdev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;)V + public final fun component1 ()Ldev/kord/common/entity/Snowflake; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;)Ldev/kord/common/entity/DiscordDefaultReaction; + public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordDefaultReaction;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordDefaultReaction; + public fun equals (Ljava/lang/Object;)Z + public final fun getEmojiId ()Ldev/kord/common/entity/Snowflake; + public final fun getEmojiName ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; + public static final fun write$Self (Ldev/kord/common/entity/DiscordDefaultReaction;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V +} + +public final class dev/kord/common/entity/DiscordDefaultReaction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/kord/common/entity/DiscordDefaultReaction$$serializer; + public fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/kord/common/entity/DiscordDefaultReaction; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/kord/common/entity/DiscordDefaultReaction;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/kord/common/entity/DiscordDefaultReaction$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/kord/common/entity/DiscordDeletedGuildRole { public static final field Companion Ldev/kord/common/entity/DiscordDeletedGuildRole$Companion; public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V @@ -3377,6 +3482,43 @@ public final class dev/kord/common/entity/DiscordEmoji$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/kord/common/entity/DiscordForumTag { + public static final field Companion Ldev/kord/common/entity/DiscordForumTag$Companion; + public synthetic fun (ILdev/kord/common/entity/Snowflake;Ljava/lang/String;ZLdev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;ZLdev/kord/common/entity/Snowflake;Ljava/lang/String;)V + public final fun component1 ()Ldev/kord/common/entity/Snowflake; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Z + public final fun component4 ()Ldev/kord/common/entity/Snowflake; + public final fun component5 ()Ljava/lang/String; + public final fun copy (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;ZLdev/kord/common/entity/Snowflake;Ljava/lang/String;)Ldev/kord/common/entity/DiscordForumTag; + public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordForumTag;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;ZLdev/kord/common/entity/Snowflake;Ljava/lang/String;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordForumTag; + public fun equals (Ljava/lang/Object;)Z + public final fun getEmojiId ()Ldev/kord/common/entity/Snowflake; + public final fun getEmojiName ()Ljava/lang/String; + public final fun getId ()Ldev/kord/common/entity/Snowflake; + public final fun getModerated ()Z + public final fun getName ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; + public static final fun write$Self (Ldev/kord/common/entity/DiscordForumTag;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V +} + +public final class dev/kord/common/entity/DiscordForumTag$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/kord/common/entity/DiscordForumTag$$serializer; + public fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/kord/common/entity/DiscordForumTag; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/kord/common/entity/DiscordForumTag;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/kord/common/entity/DiscordForumTag$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/kord/common/entity/DiscordGuild { public static final field Companion Ldev/kord/common/entity/DiscordGuild$Companion; public synthetic fun (IILdev/kord/common/entity/Snowflake;Ljava/lang/String;Ljava/lang/String;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Ldev/kord/common/entity/Snowflake;Lkotlin/time/Duration;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/VerificationLevel;Ldev/kord/common/entity/DefaultMessageNotificationLevel;Ldev/kord/common/entity/ExplicitContentFilter;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/MFALevel;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/SystemChannelFlags;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/kord/common/entity/PremiumTier;Ldev/kord/common/entity/optional/OptionalInt;Ljava/lang/String;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/NsfwLevel;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLkotlinx/serialization/internal/SerializationConstructorMarker;Lkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -4302,9 +4444,9 @@ public final class dev/kord/common/entity/DiscordMentionedChannel$Companion { public final class dev/kord/common/entity/DiscordMessage { public static final field Companion Ldev/kord/common/entity/DiscordMessage$Companion; - public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (IILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;)V + public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/Snowflake; public final fun component10 ()Z public final fun component11 ()Ljava/util/List; @@ -4330,14 +4472,15 @@ public final class dev/kord/common/entity/DiscordMessage { public final fun component3 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component30 ()Ldev/kord/common/entity/optional/Optional; public final fun component31 ()Ldev/kord/common/entity/optional/Optional; + public final fun component32 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component4 ()Ldev/kord/common/entity/DiscordUser; public final fun component5 ()Ldev/kord/common/entity/optional/Optional; public final fun component6 ()Ljava/lang/String; public final fun component7 ()Lkotlinx/datetime/Instant; public final fun component8 ()Lkotlinx/datetime/Instant; public final fun component9 ()Z - public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/common/entity/DiscordMessage; - public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordMessage;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordMessage; + public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;)Ldev/kord/common/entity/DiscordMessage; + public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordMessage;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordMessage; public fun equals (Ljava/lang/Object;)Z public final fun getActivity ()Ldev/kord/common/entity/optional/Optional; public final fun getApplication ()Ldev/kord/common/entity/optional/Optional; @@ -4361,6 +4504,7 @@ public final class dev/kord/common/entity/DiscordMessage { public final fun getMessageReference ()Ldev/kord/common/entity/optional/Optional; public final fun getNonce ()Ldev/kord/common/entity/optional/Optional; public final fun getPinned ()Z + public final fun getPosition ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getReactions ()Ldev/kord/common/entity/optional/Optional; public final fun getReferencedMessage ()Ldev/kord/common/entity/optional/Optional; public final fun getRoleSubscriptionData ()Ldev/kord/common/entity/optional/Optional; @@ -4842,9 +4986,9 @@ public final class dev/kord/common/entity/DiscordPartialInvite$Companion { public final class dev/kord/common/entity/DiscordPartialMessage { public static final field Companion Ldev/kord/common/entity/DiscordPartialMessage$Companion; - public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;)V + public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/Snowflake; public final fun component10 ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun component11 ()Ldev/kord/common/entity/optional/Optional; @@ -4865,6 +5009,7 @@ public final class dev/kord/common/entity/DiscordPartialMessage { public final fun component25 ()Ldev/kord/common/entity/optional/Optional; public final fun component26 ()Ldev/kord/common/entity/optional/Optional; public final fun component27 ()Ldev/kord/common/entity/optional/Optional; + public final fun component28 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component3 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component4 ()Ldev/kord/common/entity/optional/Optional; public final fun component5 ()Ldev/kord/common/entity/optional/Optional; @@ -4872,8 +5017,8 @@ public final class dev/kord/common/entity/DiscordPartialMessage { public final fun component7 ()Ldev/kord/common/entity/optional/Optional; public final fun component8 ()Ldev/kord/common/entity/optional/Optional; public final fun component9 ()Ldev/kord/common/entity/optional/OptionalBoolean; - public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/common/entity/DiscordPartialMessage; - public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordPartialMessage;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordPartialMessage; + public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;)Ldev/kord/common/entity/DiscordPartialMessage; + public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordPartialMessage;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordPartialMessage; public fun equals (Ljava/lang/Object;)Z public final fun getActivity ()Ldev/kord/common/entity/optional/Optional; public final fun getApplication ()Ldev/kord/common/entity/optional/Optional; @@ -4895,6 +5040,7 @@ public final class dev/kord/common/entity/DiscordPartialMessage { public final fun getMessageReference ()Ldev/kord/common/entity/optional/Optional; public final fun getNonce ()Ldev/kord/common/entity/optional/Optional; public final fun getPinned ()Ldev/kord/common/entity/optional/OptionalBoolean; + public final fun getPosition ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getReactions ()Ldev/kord/common/entity/optional/Optional; public final fun getReferencedMessage ()Ldev/kord/common/entity/optional/Optional; public final fun getStickers ()Ldev/kord/common/entity/optional/Optional; @@ -6166,6 +6312,36 @@ public final class dev/kord/common/entity/ExplicitContentFilter$Unknown : dev/ko public fun (I)V } +public abstract class dev/kord/common/entity/ForumLayoutType { + public static final field Companion Ldev/kord/common/entity/ForumLayoutType$Companion; + public synthetic fun (ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun equals (Ljava/lang/Object;)Z + public final fun getValue ()I + public final fun hashCode ()I + public final fun toString ()Ljava/lang/String; +} + +public final class dev/kord/common/entity/ForumLayoutType$Companion { + public final fun getEntries ()Ljava/util/List; + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/kord/common/entity/ForumLayoutType$GalleryView : dev/kord/common/entity/ForumLayoutType { + public static final field INSTANCE Ldev/kord/common/entity/ForumLayoutType$GalleryView; +} + +public final class dev/kord/common/entity/ForumLayoutType$ListView : dev/kord/common/entity/ForumLayoutType { + public static final field INSTANCE Ldev/kord/common/entity/ForumLayoutType$ListView; +} + +public final class dev/kord/common/entity/ForumLayoutType$NotSet : dev/kord/common/entity/ForumLayoutType { + public static final field INSTANCE Ldev/kord/common/entity/ForumLayoutType$NotSet; +} + +public final class dev/kord/common/entity/ForumLayoutType$Unknown : dev/kord/common/entity/ForumLayoutType { + public fun (I)V +} + public abstract class dev/kord/common/entity/GuildFeature { public static final field Companion Ldev/kord/common/entity/GuildFeature$Companion; public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -7788,6 +7964,32 @@ public final class dev/kord/common/entity/SnowflakeKt { public static final fun Snowflake (J)Ldev/kord/common/entity/Snowflake; } +public abstract class dev/kord/common/entity/SortOrderType { + public static final field Companion Ldev/kord/common/entity/SortOrderType$Companion; + public synthetic fun (ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun equals (Ljava/lang/Object;)Z + public final fun getValue ()I + public final fun hashCode ()I + public final fun toString ()Ljava/lang/String; +} + +public final class dev/kord/common/entity/SortOrderType$Companion { + public final fun getEntries ()Ljava/util/List; + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/kord/common/entity/SortOrderType$CreationDate : dev/kord/common/entity/SortOrderType { + public static final field INSTANCE Ldev/kord/common/entity/SortOrderType$CreationDate; +} + +public final class dev/kord/common/entity/SortOrderType$LatestActivity : dev/kord/common/entity/SortOrderType { + public static final field INSTANCE Ldev/kord/common/entity/SortOrderType$LatestActivity; +} + +public final class dev/kord/common/entity/SortOrderType$Unknown : dev/kord/common/entity/SortOrderType { + public fun (I)V +} + public abstract class dev/kord/common/entity/StageInstancePrivacyLevel { public static final field Companion Ldev/kord/common/entity/StageInstancePrivacyLevel$Companion; public static final field Serializer Ldev/kord/common/entity/StageInstancePrivacyLevel$Serializer; diff --git a/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/ChannelType.kt b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/ChannelType.kt index 0e2264191961..04a3e6b1db63 100644 --- a/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/ChannelType.kt +++ b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/ChannelType.kt @@ -86,7 +86,7 @@ public sealed class ChannelType( public object PublicNewsThread : ChannelType(10) /** - * A temporary sub-channel within a [GuildText] channel. + * A temporary sub-channel within a [GuildText] or [GuildForum] channel. */ public object PublicGuildThread : ChannelType(11) @@ -109,6 +109,11 @@ public sealed class ChannelType( */ public object GuildDirectory : ChannelType(14) + /** + * A channel that can only contain threads. + */ + public object GuildForum : ChannelType(15) + internal object Serializer : KSerializer { public override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("dev.kord.common.entity.ChannelType", PrimitiveKind.INT) @@ -128,6 +133,7 @@ public sealed class ChannelType( 12 -> PrivateThread 13 -> GuildStageVoice 14 -> GuildDirectory + 15 -> GuildForum else -> Unknown(value) } } @@ -149,6 +155,7 @@ public sealed class ChannelType( PrivateThread, GuildStageVoice, GuildDirectory, + GuildForum, ) } diff --git a/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/ForumLayoutType.kt b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/ForumLayoutType.kt new file mode 100644 index 000000000000..b611756d4120 --- /dev/null +++ b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/ForumLayoutType.kt @@ -0,0 +1,94 @@ +// THIS FILE IS AUTO-GENERATED BY KordEnumProcessor.kt, DO NOT EDIT! +@file:Suppress(names = arrayOf("RedundantVisibilityModifier", "IncorrectFormatting", + "ReplaceArrayOfWithLiteral", "SpellCheckingInspection", "GrazieInspection")) + +package dev.kord.common.entity + +import kotlin.Any +import kotlin.Boolean +import kotlin.Int +import kotlin.LazyThreadSafetyMode.PUBLICATION +import kotlin.String +import kotlin.Suppress +import kotlin.collections.List +import kotlinx.serialization.KSerializer +import kotlinx.serialization.Serializable +import kotlinx.serialization.descriptors.PrimitiveKind +import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor +import kotlinx.serialization.descriptors.SerialDescriptor +import kotlinx.serialization.encoding.Decoder +import kotlinx.serialization.encoding.Encoder + +/** + * See [ForumLayoutType]s in the + * [Discord Developer Documentation](https://discord.com/developers/docs/resources/channel#channel-object-forum-layout-types). + */ +@Serializable(with = ForumLayoutType.Serializer::class) +public sealed class ForumLayoutType( + /** + * The raw value used by Discord. + */ + public val `value`: Int, +) { + public final override fun equals(other: Any?): Boolean = this === other || + (other is ForumLayoutType && this.value == other.value) + + public final override fun hashCode(): Int = value.hashCode() + + public final override fun toString(): String = + "ForumLayoutType.${this::class.simpleName}(value=$value)" + + /** + * An unknown [ForumLayoutType]. + * + * This is used as a fallback for [ForumLayoutType]s that haven't been added to Kord yet. + */ + public class Unknown( + `value`: Int, + ) : ForumLayoutType(value) + + /** + * No default has been set for forum channel. + */ + public object NotSet : ForumLayoutType(0) + + /** + * Display posts as a list. + */ + public object ListView : ForumLayoutType(1) + + /** + * Display posts as a collection of tiles. + */ + public object GalleryView : ForumLayoutType(2) + + internal object Serializer : KSerializer { + public override val descriptor: SerialDescriptor = + PrimitiveSerialDescriptor("dev.kord.common.entity.ForumLayoutType", + PrimitiveKind.INT) + + public override fun serialize(encoder: Encoder, `value`: ForumLayoutType) = + encoder.encodeInt(value.value) + + public override fun deserialize(decoder: Decoder) = when (val value = decoder.decodeInt()) { + 0 -> NotSet + 1 -> ListView + 2 -> GalleryView + else -> Unknown(value) + } + } + + public companion object { + /** + * A [List] of all known [ForumLayoutType]s. + */ + public val entries: List by lazy(mode = PUBLICATION) { + listOf( + NotSet, + ListView, + GalleryView, + ) + } + + } +} diff --git a/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/SortOrderType.kt b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/SortOrderType.kt new file mode 100644 index 000000000000..f8ea7de7f847 --- /dev/null +++ b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/SortOrderType.kt @@ -0,0 +1,86 @@ +// THIS FILE IS AUTO-GENERATED BY KordEnumProcessor.kt, DO NOT EDIT! +@file:Suppress(names = arrayOf("RedundantVisibilityModifier", "IncorrectFormatting", + "ReplaceArrayOfWithLiteral", "SpellCheckingInspection", "GrazieInspection")) + +package dev.kord.common.entity + +import kotlin.Any +import kotlin.Boolean +import kotlin.Int +import kotlin.LazyThreadSafetyMode.PUBLICATION +import kotlin.String +import kotlin.Suppress +import kotlin.collections.List +import kotlinx.serialization.KSerializer +import kotlinx.serialization.Serializable +import kotlinx.serialization.descriptors.PrimitiveKind +import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor +import kotlinx.serialization.descriptors.SerialDescriptor +import kotlinx.serialization.encoding.Decoder +import kotlinx.serialization.encoding.Encoder + +/** + * See [SortOrderType]s in the + * [Discord Developer Documentation](https://discord.com/developers/docs/resources/channel#channel-object-sort-order-types). + */ +@Serializable(with = SortOrderType.Serializer::class) +public sealed class SortOrderType( + /** + * The raw value used by Discord. + */ + public val `value`: Int, +) { + public final override fun equals(other: Any?): Boolean = this === other || + (other is SortOrderType && this.value == other.value) + + public final override fun hashCode(): Int = value.hashCode() + + public final override fun toString(): String = + "SortOrderType.${this::class.simpleName}(value=$value)" + + /** + * An unknown [SortOrderType]. + * + * This is used as a fallback for [SortOrderType]s that haven't been added to Kord yet. + */ + public class Unknown( + `value`: Int, + ) : SortOrderType(value) + + /** + * Sort forum posts by activity. + */ + public object LatestActivity : SortOrderType(0) + + /** + * Sort forum posts by creation time (from most recent to oldest). + */ + public object CreationDate : SortOrderType(1) + + internal object Serializer : KSerializer { + public override val descriptor: SerialDescriptor = + PrimitiveSerialDescriptor("dev.kord.common.entity.SortOrderType", PrimitiveKind.INT) + + public override fun serialize(encoder: Encoder, `value`: SortOrderType) = + encoder.encodeInt(value.value) + + public override fun deserialize(decoder: Decoder) = when (val value = decoder.decodeInt()) { + 0 -> LatestActivity + 1 -> CreationDate + else -> Unknown(value) + } + } + + public companion object { + /** + * A [List] of all known [SortOrderType]s. + */ + public val entries: List by lazy(mode = PUBLICATION) { + listOf( + LatestActivity, + CreationDate, + ) + } + + } +} diff --git a/common/src/main/kotlin/entity/DiscordChannel.kt b/common/src/main/kotlin/entity/DiscordChannel.kt index db14b3045d61..724780651480 100644 --- a/common/src/main/kotlin/entity/DiscordChannel.kt +++ b/common/src/main/kotlin/entity/DiscordChannel.kt @@ -17,7 +17,10 @@ "(https://support.discord.com/hc/en-us/articles/360032008192).", ), Entry("PublicNewsThread", intValue = 10, kDoc = "A temporary sub-channel within a [GuildNews] channel."), - Entry("PublicGuildThread", intValue = 11, kDoc = "A temporary sub-channel within a [GuildText] channel."), + Entry( + "PublicGuildThread", intValue = 11, + kDoc = "A temporary sub-channel within a [GuildText] or [GuildForum] channel." + ), Entry( "PrivateThread", intValue = 12, kDoc = "A temporary sub-channel within a [GuildText] channel that is only viewable by those invited and " + @@ -33,6 +36,7 @@ kDoc = "The channel in a [hub](https://support.discord.com/hc/en-us/articles/4406046651927-Discord-" + "Student-Hubs-FAQ) containing the listed servers.", ), + Entry("GuildForum", intValue = 15, kDoc = "A channel that can only contain threads."), ], ) @@ -45,6 +49,25 @@ ], ) +@file:GenerateKordEnum( + name = "SortOrderType", valueType = INT, + docUrl = "https://discord.com/developers/docs/resources/channel#channel-object-sort-order-types", + entries = [ + Entry("LatestActivity", intValue = 0, kDoc = "Sort forum posts by activity."), + Entry("CreationDate", intValue = 1, kDoc = "Sort forum posts by creation time (from most recent to oldest)."), + ], +) + +@file:GenerateKordEnum( + name = "ForumLayoutType", valueType = INT, + docUrl = "https://discord.com/developers/docs/resources/channel#channel-object-forum-layout-types", + entries = [ + Entry("NotSet", intValue = 0, kDoc = "No default has been set for forum channel."), + Entry("ListView", intValue = 1, kDoc = "Display posts as a list."), + Entry("GalleryView", intValue = 2, kDoc = "Display posts as a collection of tiles."), + ], +) + @file:GenerateKordEnum( name = "OverwriteType", valueType = INT, docUrl = "https://discord.com/developers/docs/resources/channel#overwrite-object-overwrite-structure", @@ -53,6 +76,7 @@ package dev.kord.common.entity +import dev.kord.common.entity.ChannelType.GuildForum import dev.kord.common.entity.optional.Optional import dev.kord.common.entity.optional.OptionalBoolean import dev.kord.common.entity.optional.OptionalInt @@ -66,36 +90,18 @@ import kotlinx.datetime.Instant import kotlinx.serialization.KSerializer import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.serialization.descriptors.PrimitiveKind +import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor +import kotlinx.serialization.descriptors.SerialDescriptor import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder import kotlin.DeprecationLevel.ERROR import kotlin.LazyThreadSafetyMode.PUBLICATION +import kotlin.contracts.InvocationKind +import kotlin.contracts.contract import kotlin.time.Duration import kotlin.time.Duration.Companion.minutes -/** - * A representation of a [Discord Channel Structure](https://discord.com/developers/docs/resources/channel). - * - * @param id The id of the channel. - * @param type the Type of channel. - * @param guildId the id of the guild. - * @param position The sorting position of the channel. - * @param permissionOverwrites The explicit permission overwrite for members and roles. - * @param name The name of the channel. - * @param topic The channel topic. - * @param nsfw Whether the channel is nsfw. - * @param lastMessageId The id of the last message sent in this channel (may not point to an existing or valid message). - * @param bitrate The bitrate (in bits) of the voice channel. - * @param userLimit The user limit of the voice channel. - * @param rateLimitPerUser amount of time a user has to wait before sending another message; bots, - * as well as users with the permission [Permission.ManageMessages] or [Permission.ManageChannels] are unaffected. - * @param recipients The recipients of the DM. - * @param icon The icon hash. - * @param ownerId The id of DM creator. - * @param applicationId The application id of the group DM creator if it is bot-created. - * @param parentId The id of the parent category for a channel. - * @param lastPinTimestamp When the last pinned message was pinned. - */ @Serializable public data class DiscordChannel( val id: Snowflake, @@ -138,9 +144,117 @@ public data class DiscordChannel( val threadMetadata: Optional = Optional.Missing(), @SerialName("default_auto_archive_duration") val defaultAutoArchiveDuration: Optional = Optional.Missing(), - val member: Optional = Optional.Missing() + val member: Optional = Optional.Missing(), + val flags: Optional = Optional.Missing(), + @SerialName("total_message_sent") + val totalMessageSent: OptionalInt = OptionalInt.Missing, + @SerialName("available_tags") + val availableTags: Optional> = Optional.Missing(), + @SerialName("applied_tags") + val appliedTags: Optional> = Optional.Missing(), + @SerialName("default_reaction_emoji") + val defaultReactionEmoji: Optional = Optional.Missing(), + @SerialName("default_thread_rate_limit_per_user") + val defaultThreadRateLimitPerUser: Optional = Optional.Missing(), + @SerialName("default_sort_order") + val defaultSortOrder: Optional = Optional.Missing(), + @SerialName("default_forum_layout") + val defaultForumLayout: Optional = Optional.Missing(), + // Forum thread original message + // see in: https://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel + val message: Optional = Optional.Missing(), ) +public enum class ChannelFlag(public val code: Int) { + + /** This thread is pinned to the top of its parent [GuildForum] channel. */ + Pinned(1 shl 1), + + /** Whether a tag is required to be specified when creating a thread in a [GuildForum] channel. */ + RequireTag(1 shl 4); + + + public operator fun plus(flag: ChannelFlag): ChannelFlags = ChannelFlags(this.code or flag.code) + + public operator fun plus(flags: ChannelFlags): ChannelFlags = flags + this +} + +@Serializable(with = ChannelFlags.Serializer::class) +public data class ChannelFlags internal constructor(public val code: Int) { + + public val flags: List get() = ChannelFlag.values().filter { it in this } + + public operator fun contains(flag: ChannelFlag): Boolean = this.code and flag.code == flag.code + + public operator fun contains(flags: ChannelFlags): Boolean = this.code and flags.code == flags.code + + public operator fun plus(flag: ChannelFlag): ChannelFlags = ChannelFlags(this.code or flag.code) + + public operator fun plus(flags: ChannelFlags): ChannelFlags = ChannelFlags(this.code or flags.code) + + public operator fun minus(flag: ChannelFlag): ChannelFlags = ChannelFlags(this.code and flag.code.inv()) + + public operator fun minus(flags: ChannelFlags): ChannelFlags = ChannelFlags(this.code and flags.code.inv()) + + + public inline fun copy(builder: Builder.() -> Unit): ChannelFlags { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + return Builder(code).apply(builder).build() + } + + + internal object Serializer : KSerializer { + + override val descriptor: SerialDescriptor = + PrimitiveSerialDescriptor("dev.kord.common.entity.ChannelFlags", PrimitiveKind.INT) + + override fun deserialize(decoder: Decoder): ChannelFlags { + val code = decoder.decodeInt() + return ChannelFlags(code) + } + + override fun serialize(encoder: Encoder, value: ChannelFlags) { + encoder.encodeInt(value.code) + } + } + + + public class Builder(private var code: Int = 0) { + + public operator fun ChannelFlag.unaryPlus() { + this@Builder.code = this@Builder.code or this.code + } + + public operator fun ChannelFlags.unaryPlus() { + this@Builder.code = this@Builder.code or this.code + } + + public operator fun ChannelFlag.unaryMinus() { + this@Builder.code = this@Builder.code and this.code.inv() + } + + public operator fun ChannelFlags.unaryMinus() { + this@Builder.code = this@Builder.code and this.code.inv() + } + + public fun build(): ChannelFlags = ChannelFlags(code) + } +} + +public inline fun ChannelFlags(builder: ChannelFlags.Builder.() -> Unit): ChannelFlags { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + return ChannelFlags.Builder().apply(builder).build() +} + +public fun ChannelFlags(vararg flags: ChannelFlag): ChannelFlags = ChannelFlags { flags.forEach { +it } } + +public fun ChannelFlags(vararg flags: ChannelFlags): ChannelFlags = ChannelFlags { flags.forEach { +it } } + +public fun ChannelFlags(flags: Iterable): ChannelFlags = ChannelFlags { flags.forEach { +it } } + +@JvmName("ChannelFlags0") +public fun ChannelFlags(flags: Iterable): ChannelFlags = ChannelFlags { flags.forEach { +it } } + @Serializable public data class Overwrite( val id: Snowflake, @@ -216,3 +330,22 @@ public sealed class ArchiveDuration( // TODO rename internal `NewSerializer` to `Serializer` when this is removed public object Serializer : KSerializer by NewSerializer } + +@Serializable +public data class DiscordDefaultReaction( + @SerialName("emoji_id") + val emojiId: Snowflake?, + @SerialName("emoji_name") + val emojiName: String?, +) + +@Serializable +public data class DiscordForumTag( + val id: Snowflake, + val name: String, + val moderated: Boolean, + @SerialName("emoji_id") + val emojiId: Snowflake?, + @SerialName("emoji_name") + val emojiName: String?, +) diff --git a/common/src/main/kotlin/entity/DiscordMessage.kt b/common/src/main/kotlin/entity/DiscordMessage.kt index b77ee51381b3..71ee2f17ccb5 100644 --- a/common/src/main/kotlin/entity/DiscordMessage.kt +++ b/common/src/main/kotlin/entity/DiscordMessage.kt @@ -236,7 +236,8 @@ public data class DiscordMessage( */ val components: Optional> = Optional.Missing(), val interaction: Optional = Optional.Missing(), - val thread: Optional = Optional.Missing() + val thread: Optional = Optional.Missing(), + val position: OptionalInt = OptionalInt.Missing ) /** @@ -371,6 +372,7 @@ public data class DiscordPartialMessage( @SerialName("referenced_message") val referencedMessage: Optional = Optional.Missing(), val interaction: Optional = Optional.Missing(), + val position: OptionalInt = OptionalInt.Missing, ) @Serializable diff --git a/common/src/main/kotlin/entity/Permission.kt b/common/src/main/kotlin/entity/Permission.kt index 803ce719e905..f23643336844 100644 --- a/common/src/main/kotlin/entity/Permission.kt +++ b/common/src/main/kotlin/entity/Permission.kt @@ -179,7 +179,10 @@ public sealed class Permission(public val code: DiscordBitSet) { */ public object ViewChannel : Permission(1L shl 10) - /** Allows for sending messages in a channel (does not allow sending messages in threads). */ + /** + * Allows for sending messages in a channel and creating threads in a forum (does not allow sending messages in + * threads). + */ public object SendMessages : Permission(1L shl 11) /** Allows for sending of `/tts` messages. */ diff --git a/core/api/core.api b/core/api/core.api index e9bf5f6dd549..992f50831572 100644 --- a/core/api/core.api +++ b/core/api/core.api @@ -382,6 +382,8 @@ public final class dev/kord/core/behavior/GuildBehaviorKt { public static synthetic fun createChatInputCommand$default (Ldev/kord/core/behavior/GuildBehavior;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static final fun createEmoji (Ldev/kord/core/behavior/GuildBehavior;Ljava/lang/String;Ldev/kord/rest/Image;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun createEmoji$default (Ldev/kord/core/behavior/GuildBehavior;Ljava/lang/String;Ldev/kord/rest/Image;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun createForumChannel (Ldev/kord/core/behavior/GuildBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun createForumChannel$default (Ldev/kord/core/behavior/GuildBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static final fun createKeywordAutoModerationRule (Ldev/kord/core/behavior/GuildBehavior;Ljava/lang/String;Ldev/kord/common/entity/AutoModerationRuleEventType;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun createKeywordAutoModerationRule$default (Ldev/kord/core/behavior/GuildBehavior;Ljava/lang/String;Ldev/kord/common/entity/AutoModerationRuleEventType;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static final fun createKeywordPresetAutoModerationRule (Ldev/kord/core/behavior/GuildBehavior;Ljava/lang/String;Ldev/kord/common/entity/AutoModerationRuleEventType;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -1076,6 +1078,43 @@ public final class dev/kord/core/behavior/channel/ChannelBehaviorKt { public static synthetic fun ChannelBehavior$default (Ldev/kord/common/entity/Snowflake;Ldev/kord/core/Kord;Ldev/kord/core/supplier/EntitySupplyStrategy;ILjava/lang/Object;)Ldev/kord/core/behavior/channel/ChannelBehavior; } +public abstract interface class dev/kord/core/behavior/channel/ForumChannelBehavior : dev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior { + public abstract fun createTag (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun deleteTag (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun editTag (Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getActiveThreads ()Lkotlinx/coroutines/flow/Flow; + public abstract fun getPublicArchivedThreads (Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; + public abstract fun startPublicThread (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class dev/kord/core/behavior/channel/ForumChannelBehavior$DefaultImpls { + public static fun addOverwrite (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Ldev/kord/core/entity/PermissionOverwrite;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun asChannel (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun asChannelOrNull (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun compareTo (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Ldev/kord/core/entity/Entity;)I + public static fun createTag (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun createTag$default (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static fun delete (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun deleteTag (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun deleteTag$default (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static fun editTag (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun fetchChannel (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun fetchChannelOrNull (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getActiveThreads (Ldev/kord/core/behavior/channel/ForumChannelBehavior;)Lkotlinx/coroutines/flow/Flow; + public static fun getGuild (Ldev/kord/core/behavior/channel/ForumChannelBehavior;)Ldev/kord/core/behavior/GuildBehavior; + public static fun getGuild (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getGuildOrNull (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getMention (Ldev/kord/core/behavior/channel/ForumChannelBehavior;)Ljava/lang/String; + public static fun getPosition (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getPublicArchivedThreads (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; + public static fun startPublicThread (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun startPublicThread$default (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class dev/kord/core/behavior/channel/ForumChannelBehaviorKt { + public static final fun edit (Ldev/kord/core/behavior/channel/ForumChannelBehavior;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + public abstract interface class dev/kord/core/behavior/channel/GuildChannelBehavior : dev/kord/core/behavior/channel/ChannelBehavior, dev/kord/core/entity/Strategizable { public abstract fun asChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun asChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -1213,7 +1252,9 @@ public abstract interface class dev/kord/core/behavior/channel/NewsChannelBehavi public abstract fun getActiveThreads ()Lkotlinx/coroutines/flow/Flow; public abstract fun getPublicArchivedThreads (Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; public abstract fun startPublicThread (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun startPublicThread (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun startPublicThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun startPublicThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/behavior/channel/NewsChannelBehavior; } @@ -1221,12 +1262,8 @@ public final class dev/kord/core/behavior/channel/NewsChannelBehavior$DefaultImp public static fun addOverwrite (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/core/entity/PermissionOverwrite;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun asChannel (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun asChannelOrNull (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun bulkDelete (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun bulkDelete (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ljava/lang/Iterable;ZLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun compareTo (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/core/entity/Entity;)I - public static fun createMessage (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun delete (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun deleteMessage (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannel (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun follow (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -1234,25 +1271,17 @@ public final class dev/kord/core/behavior/channel/NewsChannelBehavior$DefaultImp public static fun getGuild (Ldev/kord/core/behavior/channel/NewsChannelBehavior;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildOrNull (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getInvites (Ldev/kord/core/behavior/channel/NewsChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getMention (Ldev/kord/core/behavior/channel/NewsChannelBehavior;)Ljava/lang/String; - public static fun getMessage (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getMessageOrNull (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getMessages (Ldev/kord/core/behavior/channel/NewsChannelBehavior;)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesAfter (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesAround (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;I)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesBefore (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getPinnedMessages (Ldev/kord/core/behavior/channel/NewsChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getPosition (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getPublicArchivedThreads (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getWebhooks (Ldev/kord/core/behavior/channel/NewsChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun startPublicThread (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun startPublicThread (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun startPublicThread$default (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun startPublicThread$default (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static fun startPublicThreadWithMessage (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun startPublicThreadWithMessage (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun startPublicThreadWithMessage$default (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static fun type (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun typeUntil (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlin/time/TimeMark;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun typeUntil (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Lkotlinx/datetime/Instant;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun startPublicThreadWithMessage$default (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static fun withStrategy (Ldev/kord/core/behavior/channel/NewsChannelBehavior;Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/behavior/channel/NewsChannelBehavior; } @@ -1322,9 +1351,12 @@ public abstract interface class dev/kord/core/behavior/channel/TextChannelBehavi public abstract fun getJoinedPrivateArchivedThreads (Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; public abstract fun getPrivateArchivedThreads (Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; public abstract fun getPublicArchivedThreads (Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public abstract fun startPrivateThread (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun startPublicThread (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun startPublicThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun startPrivateThread (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun startPrivateThread (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun startPublicThread (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun startPublicThread (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun startPublicThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun startPublicThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/behavior/channel/TextChannelBehavior; } @@ -1332,41 +1364,31 @@ public final class dev/kord/core/behavior/channel/TextChannelBehavior$DefaultImp public static fun addOverwrite (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/core/entity/PermissionOverwrite;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun asChannel (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun asChannelOrNull (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun bulkDelete (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun bulkDelete (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/Iterable;ZLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun compareTo (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/core/entity/Entity;)I - public static fun createMessage (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun delete (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun deleteMessage (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannel (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getActiveThreads (Ldev/kord/core/behavior/channel/TextChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getGuild (Ldev/kord/core/behavior/channel/TextChannelBehavior;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildOrNull (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getInvites (Ldev/kord/core/behavior/channel/TextChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getJoinedPrivateArchivedThreads (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; public static fun getMention (Ldev/kord/core/behavior/channel/TextChannelBehavior;)Ljava/lang/String; - public static fun getMessage (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getMessageOrNull (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getMessages (Ldev/kord/core/behavior/channel/TextChannelBehavior;)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesAfter (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesAround (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;I)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesBefore (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getPinnedMessages (Ldev/kord/core/behavior/channel/TextChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getPosition (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getPrivateArchivedThreads (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; public static fun getPublicArchivedThreads (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getWebhooks (Ldev/kord/core/behavior/channel/TextChannelBehavior;)Lkotlinx/coroutines/flow/Flow; - public static fun startPrivateThread (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun startPrivateThread$default (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static fun startPublicThread (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun startPublicThread$default (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static fun startPublicThreadWithMessage (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun startPublicThreadWithMessage$default (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static fun type (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun typeUntil (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlin/time/TimeMark;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun typeUntil (Ldev/kord/core/behavior/channel/TextChannelBehavior;Lkotlinx/datetime/Instant;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun startPrivateThread (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun startPrivateThread (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun startPrivateThread$default (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun startPrivateThread$default (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static fun startPublicThread (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun startPublicThread (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun startPublicThread$default (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun startPublicThread$default (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static fun startPublicThreadWithMessage (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun startPublicThreadWithMessage (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun startPublicThreadWithMessage$default (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun startPublicThreadWithMessage$default (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static fun withStrategy (Ldev/kord/core/behavior/channel/TextChannelBehavior;Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/behavior/channel/TextChannelBehavior; } @@ -1510,37 +1532,21 @@ public final class dev/kord/core/behavior/channel/threads/PrivateThreadParentCha public static fun addOverwrite (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ldev/kord/core/entity/PermissionOverwrite;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun asChannel (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun asChannelOrNull (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun bulkDelete (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun bulkDelete (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ljava/lang/Iterable;ZLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun compareTo (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ldev/kord/core/entity/Entity;)I - public static fun createMessage (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun delete (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun deleteMessage (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannel (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getActiveThreads (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getGuild (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildOrNull (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getInvites (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getJoinedPrivateArchivedThreads (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; public static synthetic fun getJoinedPrivateArchivedThreads$default (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; public static fun getMention (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;)Ljava/lang/String; - public static fun getMessage (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getMessageOrNull (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getMessages (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesAfter (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesAround (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;I)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesBefore (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getPinnedMessages (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getPosition (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getPrivateArchivedThreads (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; public static synthetic fun getPrivateArchivedThreads$default (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlinx/datetime/Instant;Ljava/lang/Integer;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; public static fun getPublicArchivedThreads (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getWebhooks (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;)Lkotlinx/coroutines/flow/Flow; - public static fun type (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun typeUntil (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlin/time/TimeMark;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun typeUntil (Ldev/kord/core/behavior/channel/threads/PrivateThreadParentChannelBehavior;Lkotlinx/datetime/Instant;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } public abstract interface class dev/kord/core/behavior/channel/threads/ThreadChannelBehavior : dev/kord/core/behavior/channel/GuildMessageChannelBehavior { @@ -1599,7 +1605,7 @@ public final class dev/kord/core/behavior/channel/threads/ThreadChannelBehaviorK public static final fun edit (Ldev/kord/core/behavior/channel/threads/ThreadChannelBehavior;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } -public abstract interface class dev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior : dev/kord/core/behavior/channel/TopGuildMessageChannelBehavior { +public abstract interface class dev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior : dev/kord/core/behavior/channel/TopGuildChannelBehavior { public abstract fun asChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun asChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun fetchChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -1613,34 +1619,18 @@ public final class dev/kord/core/behavior/channel/threads/ThreadParentChannelBeh public static fun addOverwrite (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ldev/kord/core/entity/PermissionOverwrite;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun asChannel (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun asChannelOrNull (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun bulkDelete (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun bulkDelete (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ljava/lang/Iterable;ZLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun compareTo (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ldev/kord/core/entity/Entity;)I - public static fun createMessage (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun delete (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun deleteMessage (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannel (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getActiveThreads (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getGuild (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildOrNull (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getInvites (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getMention (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;)Ljava/lang/String; - public static fun getMessage (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getMessageOrNull (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getMessages (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesAfter (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesAround (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;I)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesBefore (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getPinnedMessages (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;)Lkotlinx/coroutines/flow/Flow; public static fun getPosition (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getPublicArchivedThreads (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; public static synthetic fun getPublicArchivedThreads$default (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlinx/datetime/Instant;Ljava/lang/Integer;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow; - public static fun getWebhooks (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;)Lkotlinx/coroutines/flow/Flow; - public static fun type (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun typeUntil (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlin/time/TimeMark;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun typeUntil (Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior;Lkotlinx/datetime/Instant;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } public abstract interface class dev/kord/core/behavior/interaction/ActionInteractionBehavior : dev/kord/core/behavior/interaction/InteractionBehavior { @@ -2898,9 +2888,9 @@ public abstract interface class dev/kord/core/cache/data/BaseInviteData { public final class dev/kord/core/cache/data/ChannelData { public static final field Companion Ldev/kord/core/cache/data/ChannelData$Companion; - public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (IILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;IILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/Snowflake; public final fun component10 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component11 ()Ldev/kord/common/entity/optional/OptionalInt; @@ -2920,19 +2910,35 @@ public final class dev/kord/core/cache/data/ChannelData { public final fun component24 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component25 ()Ldev/kord/common/entity/optional/Optional; public final fun component26 ()Ldev/kord/common/entity/optional/Optional; + public final fun component27 ()Ldev/kord/common/entity/optional/Optional; + public final fun component28 ()Ldev/kord/common/entity/optional/Optional; + public final fun component29 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component3 ()Ldev/kord/common/entity/optional/OptionalSnowflake; + public final fun component30 ()Ldev/kord/common/entity/optional/Optional; + public final fun component31 ()Ldev/kord/common/entity/optional/Optional; + public final fun component32 ()Ldev/kord/common/entity/optional/Optional; + public final fun component33 ()Ldev/kord/common/entity/optional/Optional; + public final fun component34 ()Ldev/kord/common/entity/optional/Optional; + public final fun component35 ()Ldev/kord/common/entity/optional/Optional; public final fun component4 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component5 ()Ldev/kord/common/entity/optional/Optional; public final fun component6 ()Ldev/kord/common/entity/optional/Optional; public final fun component7 ()Ldev/kord/common/entity/optional/Optional; public final fun component8 ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun component9 ()Ldev/kord/common/entity/optional/OptionalSnowflake; - public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/core/cache/data/ChannelData; - public static synthetic fun copy$default (Ldev/kord/core/cache/data/ChannelData;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/core/cache/data/ChannelData; + public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/core/cache/data/ChannelData; + public static synthetic fun copy$default (Ldev/kord/core/cache/data/ChannelData;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;IILjava/lang/Object;)Ldev/kord/core/cache/data/ChannelData; public fun equals (Ljava/lang/Object;)Z public final fun getApplicationId ()Ldev/kord/common/entity/optional/OptionalSnowflake; + public final fun getAppliedTags ()Ldev/kord/common/entity/optional/Optional; + public final fun getAvailableTags ()Ldev/kord/common/entity/optional/Optional; public final fun getBitrate ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultForumLayout ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultReactionEmoji ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultSortOrder ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultThreadRateLimitPerUser ()Ldev/kord/common/entity/optional/Optional; + public final fun getFlags ()Ldev/kord/common/entity/optional/Optional; public final fun getGuildId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun getIcon ()Ldev/kord/common/entity/optional/Optional; public final fun getId ()Ldev/kord/common/entity/Snowflake; @@ -2940,6 +2946,7 @@ public final class dev/kord/core/cache/data/ChannelData { public final fun getLastPinTimestamp ()Ldev/kord/common/entity/optional/Optional; public final fun getMember ()Ldev/kord/common/entity/optional/Optional; public final fun getMemberCount ()Ldev/kord/common/entity/optional/OptionalInt; + public final fun getMessage ()Ldev/kord/common/entity/optional/Optional; public final fun getMessageCount ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getName ()Ldev/kord/common/entity/optional/Optional; public final fun getNsfw ()Ldev/kord/common/entity/optional/OptionalBoolean; @@ -2953,6 +2960,7 @@ public final class dev/kord/core/cache/data/ChannelData { public final fun getRtcRegion ()Ldev/kord/common/entity/optional/Optional; public final fun getThreadMetadata ()Ldev/kord/common/entity/optional/Optional; public final fun getTopic ()Ldev/kord/common/entity/optional/Optional; + public final fun getTotalMessageSent ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getType ()Ldev/kord/common/entity/ChannelType; public final fun getUserLimit ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getVideoQualityMode ()Ldev/kord/common/entity/optional/Optional; @@ -4228,9 +4236,9 @@ public final class dev/kord/core/cache/data/MembersChunkData$Companion { public final class dev/kord/core/cache/data/MessageData { public static final field Companion Ldev/kord/core/cache/data/MessageData$Companion; - public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;)V + public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/Snowflake; public final fun component10 ()Ljava/util/List; public final fun component11 ()Ljava/util/List; @@ -4254,14 +4262,15 @@ public final class dev/kord/core/cache/data/MessageData { public final fun component28 ()Ldev/kord/common/entity/optional/Optional; public final fun component29 ()Ldev/kord/common/entity/optional/Optional; public final fun component3 ()Ldev/kord/common/entity/optional/OptionalSnowflake; + public final fun component30 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component4 ()Ldev/kord/core/cache/data/UserData; public final fun component5 ()Ljava/lang/String; public final fun component6 ()Lkotlinx/datetime/Instant; public final fun component7 ()Lkotlinx/datetime/Instant; public final fun component8 ()Z public final fun component9 ()Z - public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/core/cache/data/MessageData; - public static synthetic fun copy$default (Ldev/kord/core/cache/data/MessageData;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/core/cache/data/MessageData; + public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;)Ldev/kord/core/cache/data/MessageData; + public static synthetic fun copy$default (Ldev/kord/core/cache/data/MessageData;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;ILjava/lang/Object;)Ldev/kord/core/cache/data/MessageData; public fun equals (Ljava/lang/Object;)Z public final fun getActivity ()Ldev/kord/common/entity/optional/Optional; public final fun getApplication ()Ldev/kord/common/entity/optional/Optional; @@ -4284,6 +4293,7 @@ public final class dev/kord/core/cache/data/MessageData { public final fun getMessageReference ()Ldev/kord/common/entity/optional/Optional; public final fun getNonce ()Ldev/kord/common/entity/optional/Optional; public final fun getPinned ()Z + public final fun getPosition ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getReactions ()Ldev/kord/common/entity/optional/Optional; public final fun getReferencedMessage ()Ldev/kord/common/entity/optional/Optional; public final fun getRoleSubscriptionData ()Ldev/kord/common/entity/optional/Optional; @@ -6505,6 +6515,7 @@ public final class dev/kord/core/entity/Message : dev/kord/core/behavior/Message public final fun getMentionedUsers ()Lkotlinx/coroutines/flow/Flow; public final fun getMentionsEveryone ()Z public final fun getMessageReference ()Ldev/kord/core/entity/MessageReference; + public final fun getPosition ()Ljava/lang/Integer; public final fun getReactions ()Ljava/util/Set; public fun getReactors (Ldev/kord/core/entity/ReactionEmoji;)Lkotlinx/coroutines/flow/Flow; public final fun getReferencedMessage ()Ldev/kord/core/entity/Message; @@ -7620,6 +7631,7 @@ public final class dev/kord/core/entity/channel/CategorizableChannel$DefaultImpl public static fun getCategory (Ldev/kord/core/entity/channel/CategorizableChannel;)Ldev/kord/core/behavior/channel/CategoryBehavior; public static fun getCategoryId (Ldev/kord/core/entity/channel/CategorizableChannel;)Ldev/kord/common/entity/Snowflake; public static fun getEffectivePermissions (Ldev/kord/core/entity/channel/CategorizableChannel;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getFlags (Ldev/kord/core/entity/channel/CategorizableChannel;)Ldev/kord/common/entity/ChannelFlags; public static fun getGuild (Ldev/kord/core/entity/channel/CategorizableChannel;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/entity/channel/CategorizableChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildId (Ldev/kord/core/entity/channel/CategorizableChannel;)Ldev/kord/common/entity/Snowflake; @@ -7651,6 +7663,7 @@ public final class dev/kord/core/entity/channel/Category : dev/kord/core/behavio public fun getChannels ()Lkotlinx/coroutines/flow/Flow; public fun getData ()Ldev/kord/core/cache/data/ChannelData; public fun getEffectivePermissions (Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; public fun getGuild (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getGuildId ()Ldev/kord/common/entity/Snowflake; @@ -7682,6 +7695,7 @@ public final class dev/kord/core/entity/channel/Category : dev/kord/core/behavio public abstract interface class dev/kord/core/entity/channel/Channel : dev/kord/core/behavior/channel/ChannelBehavior { public static final field Companion Ldev/kord/core/entity/channel/Channel$Companion; public abstract fun getData ()Ldev/kord/core/cache/data/ChannelData; + public abstract fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public abstract fun getId ()Ldev/kord/common/entity/Snowflake; public abstract fun getType ()Ldev/kord/common/entity/ChannelType; public abstract fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/Channel; @@ -7699,6 +7713,7 @@ public final class dev/kord/core/entity/channel/Channel$DefaultImpls { public static fun delete (Ldev/kord/core/entity/channel/Channel;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannel (Ldev/kord/core/entity/channel/Channel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/entity/channel/Channel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getFlags (Ldev/kord/core/entity/channel/Channel;)Ldev/kord/common/entity/ChannelFlags; public static fun getId (Ldev/kord/core/entity/channel/Channel;)Ldev/kord/common/entity/Snowflake; public static fun getMention (Ldev/kord/core/entity/channel/Channel;)Ljava/lang/String; public static fun getType (Ldev/kord/core/entity/channel/Channel;)Ldev/kord/common/entity/ChannelType; @@ -7724,6 +7739,7 @@ public final class dev/kord/core/entity/channel/DmChannel : dev/kord/core/entity public fun fetchChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun fetchChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getData ()Ldev/kord/core/cache/data/ChannelData; + public fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public fun getId ()Ldev/kord/common/entity/Snowflake; public fun getKord ()Ldev/kord/core/Kord; public fun getLastMessage ()Ldev/kord/core/behavior/MessageBehavior; @@ -7756,6 +7772,59 @@ public final class dev/kord/core/entity/channel/DmChannel : dev/kord/core/entity public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/MessageChannel; } +public final class dev/kord/core/entity/channel/ForumChannel : dev/kord/core/behavior/channel/ForumChannelBehavior, dev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior, dev/kord/core/entity/channel/ThreadParentChannel { + public fun (Ldev/kord/core/cache/data/ChannelData;Ldev/kord/core/Kord;Ldev/kord/core/supplier/EntitySupplier;)V + public synthetic fun (Ldev/kord/core/cache/data/ChannelData;Ldev/kord/core/Kord;Ldev/kord/core/supplier/EntitySupplier;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun addOverwrite (Ldev/kord/core/entity/PermissionOverwrite;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun asChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun asChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun compareTo (Ldev/kord/core/entity/Entity;)I + public synthetic fun compareTo (Ljava/lang/Object;)I + public fun createTag (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun delete (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun deleteTag (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun editTag (Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun fetchChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun fetchChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getActiveThreads ()Lkotlinx/coroutines/flow/Flow; + public final fun getAvailableTags ()Ljava/util/List; + public fun getData ()Ldev/kord/core/cache/data/ChannelData; + public final fun getDefaultForumLayout ()Ldev/kord/common/entity/ForumLayoutType; + public final fun getDefaultReactionEmoji ()Ldev/kord/common/entity/DiscordDefaultReaction; + public final fun getDefaultThreadRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; + public fun getEffectivePermissions (Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getFlags ()Ldev/kord/common/entity/ChannelFlags; + public fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; + public fun getGuild (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getGuildId ()Ldev/kord/common/entity/Snowflake; + public fun getGuildOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getId ()Ldev/kord/common/entity/Snowflake; + public fun getKord ()Ldev/kord/core/Kord; + public fun getMention ()Ljava/lang/String; + public fun getName ()Ljava/lang/String; + public fun getPermissionOverwrites ()Ljava/util/Set; + public fun getPermissionOverwritesForMember (Ldev/kord/common/entity/Snowflake;)Ldev/kord/core/entity/PermissionOverwriteEntity; + public fun getPermissionOverwritesForRole (Ldev/kord/common/entity/Snowflake;)Ldev/kord/core/entity/PermissionOverwriteEntity; + public fun getPosition (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getPublicArchivedThreads (Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; + public fun getRawPosition ()I + public fun getSupplier ()Ldev/kord/core/supplier/EntitySupplier; + public final fun getTopic ()Ljava/lang/String; + public fun getType ()Ldev/kord/common/entity/ChannelType; + public fun startPublicThread (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun toString ()Ljava/lang/String; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/behavior/channel/ChannelBehavior; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/behavior/channel/GuildChannelBehavior; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/behavior/channel/TopGuildChannelBehavior; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/Strategizable; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/Channel; + public fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/ForumChannel; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/GuildChannel; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/ThreadParentChannel; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/TopGuildChannel; +} + public abstract interface class dev/kord/core/entity/channel/GuildChannel : dev/kord/core/behavior/channel/GuildChannelBehavior, dev/kord/core/entity/channel/Channel { public abstract fun getGuildId ()Ldev/kord/common/entity/Snowflake; public abstract fun getName ()Ljava/lang/String; @@ -7769,6 +7838,7 @@ public final class dev/kord/core/entity/channel/GuildChannel$DefaultImpls { public static fun delete (Ldev/kord/core/entity/channel/GuildChannel;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannel (Ldev/kord/core/entity/channel/GuildChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/entity/channel/GuildChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getFlags (Ldev/kord/core/entity/channel/GuildChannel;)Ldev/kord/common/entity/ChannelFlags; public static fun getGuild (Ldev/kord/core/entity/channel/GuildChannel;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/entity/channel/GuildChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildId (Ldev/kord/core/entity/channel/GuildChannel;)Ldev/kord/common/entity/Snowflake; @@ -7794,6 +7864,7 @@ public final class dev/kord/core/entity/channel/GuildMessageChannel$DefaultImpls public static fun deleteMessage (Ldev/kord/core/entity/channel/GuildMessageChannel;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannel (Ldev/kord/core/entity/channel/GuildMessageChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/entity/channel/GuildMessageChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getFlags (Ldev/kord/core/entity/channel/GuildMessageChannel;)Ldev/kord/common/entity/ChannelFlags; public static fun getGuild (Ldev/kord/core/entity/channel/GuildMessageChannel;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/entity/channel/GuildMessageChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildId (Ldev/kord/core/entity/channel/GuildMessageChannel;)Ldev/kord/common/entity/Snowflake; @@ -7835,6 +7906,7 @@ public final class dev/kord/core/entity/channel/MessageChannel$DefaultImpls { public static fun deleteMessage (Ldev/kord/core/entity/channel/MessageChannel;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannel (Ldev/kord/core/entity/channel/MessageChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/entity/channel/MessageChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getFlags (Ldev/kord/core/entity/channel/MessageChannel;)Ldev/kord/common/entity/ChannelFlags; public static fun getId (Ldev/kord/core/entity/channel/MessageChannel;)Ldev/kord/common/entity/Snowflake; public static fun getLastMessage (Ldev/kord/core/entity/channel/MessageChannel;)Ldev/kord/core/behavior/MessageBehavior; public static fun getLastMessage (Ldev/kord/core/entity/channel/MessageChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -7876,6 +7948,7 @@ public final class dev/kord/core/entity/channel/NewsChannel : dev/kord/core/beha public fun getCategoryId ()Ldev/kord/common/entity/Snowflake; public fun getData ()Ldev/kord/core/cache/data/ChannelData; public fun getEffectivePermissions (Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; public fun getGuild (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getGuildId ()Ldev/kord/common/entity/Snowflake; @@ -7908,7 +7981,9 @@ public final class dev/kord/core/entity/channel/NewsChannel : dev/kord/core/beha public fun getWebhooks ()Lkotlinx/coroutines/flow/Flow; public fun hashCode ()I public fun startPublicThread (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun startPublicThread (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun startPublicThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun startPublicThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun toString ()Ljava/lang/String; public fun type (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun typeUntil (Lkotlin/time/TimeMark;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -7945,6 +8020,7 @@ public final class dev/kord/core/entity/channel/ResolvedChannel : dev/kord/core/ public fun fetchChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun fetchChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getData ()Ldev/kord/core/cache/data/ChannelData; + public fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public fun getId ()Ldev/kord/common/entity/Snowflake; public fun getKord ()Ldev/kord/core/Kord; public fun getMention ()Ljava/lang/String; @@ -7980,6 +8056,7 @@ public final class dev/kord/core/entity/channel/StageChannel : dev/kord/core/beh public fun getCategoryId ()Ldev/kord/common/entity/Snowflake; public fun getData ()Ldev/kord/core/cache/data/ChannelData; public fun getEffectivePermissions (Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; public fun getGuild (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getGuildId ()Ldev/kord/common/entity/Snowflake; @@ -8037,7 +8114,7 @@ public final class dev/kord/core/entity/channel/StageChannel : dev/kord/core/beh public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/TopGuildMessageChannel; } -public final class dev/kord/core/entity/channel/TextChannel : dev/kord/core/behavior/channel/TextChannelBehavior, dev/kord/core/entity/channel/CategorizableChannel, dev/kord/core/entity/channel/ThreadParentChannel { +public final class dev/kord/core/entity/channel/TextChannel : dev/kord/core/behavior/channel/TextChannelBehavior, dev/kord/core/entity/channel/CategorizableChannel, dev/kord/core/entity/channel/ThreadParentChannel, dev/kord/core/entity/channel/TopGuildMessageChannel { public fun (Ldev/kord/core/cache/data/ChannelData;Ldev/kord/core/Kord;Ldev/kord/core/supplier/EntitySupplier;)V public synthetic fun (Ldev/kord/core/cache/data/ChannelData;Ldev/kord/core/Kord;Ldev/kord/core/supplier/EntitySupplier;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public fun addOverwrite (Ldev/kord/core/entity/PermissionOverwrite;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -8058,6 +8135,7 @@ public final class dev/kord/core/entity/channel/TextChannel : dev/kord/core/beha public fun getCategoryId ()Ldev/kord/common/entity/Snowflake; public fun getData ()Ldev/kord/core/cache/data/ChannelData; public fun getEffectivePermissions (Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; public fun getGuild (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getGuildId ()Ldev/kord/common/entity/Snowflake; @@ -8093,9 +8171,12 @@ public final class dev/kord/core/entity/channel/TextChannel : dev/kord/core/beha public fun getWebhooks ()Lkotlinx/coroutines/flow/Flow; public fun hashCode ()I public final fun isNsfw ()Z - public fun startPrivateThread (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startPublicThread (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public fun startPublicThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun startPrivateThread (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun startPrivateThread (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun startPublicThread (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun startPublicThread (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun startPublicThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun startPublicThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun toString ()Ljava/lang/String; public fun type (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun typeUntil (Lkotlin/time/TimeMark;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -8121,7 +8202,11 @@ public final class dev/kord/core/entity/channel/TextChannel : dev/kord/core/beha public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/TopGuildMessageChannel; } -public abstract interface class dev/kord/core/entity/channel/ThreadParentChannel : dev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior, dev/kord/core/entity/channel/TopGuildMessageChannel { +public abstract interface class dev/kord/core/entity/channel/ThreadParentChannel : dev/kord/core/behavior/channel/threads/ThreadParentChannelBehavior, dev/kord/core/entity/channel/TopGuildChannel { + public abstract fun asChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun asChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun fetchChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun fetchChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/ThreadParentChannel; } @@ -8129,49 +8214,27 @@ public final class dev/kord/core/entity/channel/ThreadParentChannel$DefaultImpls public static fun addOverwrite (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/core/entity/PermissionOverwrite;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun asChannel (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun asChannelOrNull (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun bulkDelete (Ldev/kord/core/entity/channel/ThreadParentChannel;Ljava/lang/Iterable;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun bulkDelete (Ldev/kord/core/entity/channel/ThreadParentChannel;Ljava/lang/Iterable;ZLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun compareTo (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/core/entity/Entity;)I - public static fun createMessage (Ldev/kord/core/entity/channel/ThreadParentChannel;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun delete (Ldev/kord/core/entity/channel/ThreadParentChannel;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun deleteMessage (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannel (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getActiveThreads (Ldev/kord/core/entity/channel/ThreadParentChannel;)Lkotlinx/coroutines/flow/Flow; - public static fun getCategory (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ldev/kord/core/behavior/channel/CategoryBehavior; - public static fun getCategoryId (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ldev/kord/common/entity/Snowflake; public static fun getEffectivePermissions (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getFlags (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ldev/kord/common/entity/ChannelFlags; public static fun getGuild (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildId (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ldev/kord/common/entity/Snowflake; public static fun getGuildOrNull (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getId (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ldev/kord/common/entity/Snowflake; - public static fun getInvites (Ldev/kord/core/entity/channel/ThreadParentChannel;)Lkotlinx/coroutines/flow/Flow; - public static fun getLastMessage (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ldev/kord/core/behavior/MessageBehavior; - public static fun getLastMessage (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getLastMessageId (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ldev/kord/common/entity/Snowflake; - public static fun getLastPinTimestamp (Ldev/kord/core/entity/channel/ThreadParentChannel;)Lkotlinx/datetime/Instant; public static fun getMention (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ljava/lang/String; - public static fun getMessage (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getMessageOrNull (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun getMessages (Ldev/kord/core/entity/channel/ThreadParentChannel;)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesAfter (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesAround (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/common/entity/Snowflake;I)Lkotlinx/coroutines/flow/Flow; - public static fun getMessagesBefore (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/common/entity/Snowflake;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; public static fun getName (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ljava/lang/String; public static fun getPermissionOverwrites (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ljava/util/Set; public static fun getPermissionOverwritesForMember (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/common/entity/Snowflake;)Ldev/kord/core/entity/PermissionOverwriteEntity; public static fun getPermissionOverwritesForRole (Ldev/kord/core/entity/channel/ThreadParentChannel;Ldev/kord/common/entity/Snowflake;)Ldev/kord/core/entity/PermissionOverwriteEntity; - public static fun getPinnedMessages (Ldev/kord/core/entity/channel/ThreadParentChannel;)Lkotlinx/coroutines/flow/Flow; public static fun getPosition (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getPublicArchivedThreads (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlinx/datetime/Instant;Ljava/lang/Integer;)Lkotlinx/coroutines/flow/Flow; public static fun getRawPosition (Ldev/kord/core/entity/channel/ThreadParentChannel;)I - public static fun getTopic (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ljava/lang/String; public static fun getType (Ldev/kord/core/entity/channel/ThreadParentChannel;)Ldev/kord/common/entity/ChannelType; - public static fun getWebhooks (Ldev/kord/core/entity/channel/ThreadParentChannel;)Lkotlinx/coroutines/flow/Flow; - public static fun type (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun typeUntil (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlin/time/TimeMark;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static fun typeUntil (Ldev/kord/core/entity/channel/ThreadParentChannel;Lkotlinx/datetime/Instant;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } public abstract interface class dev/kord/core/entity/channel/TopGuildChannel : dev/kord/core/behavior/channel/TopGuildChannelBehavior, dev/kord/core/entity/channel/GuildChannel { @@ -8193,6 +8256,7 @@ public final class dev/kord/core/entity/channel/TopGuildChannel$DefaultImpls { public static fun fetchChannel (Ldev/kord/core/entity/channel/TopGuildChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/entity/channel/TopGuildChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getEffectivePermissions (Ldev/kord/core/entity/channel/TopGuildChannel;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getFlags (Ldev/kord/core/entity/channel/TopGuildChannel;)Ldev/kord/common/entity/ChannelFlags; public static fun getGuild (Ldev/kord/core/entity/channel/TopGuildChannel;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/entity/channel/TopGuildChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildId (Ldev/kord/core/entity/channel/TopGuildChannel;)Ldev/kord/common/entity/Snowflake; @@ -8228,6 +8292,7 @@ public final class dev/kord/core/entity/channel/TopGuildMessageChannel$DefaultIm public static fun getCategory (Ldev/kord/core/entity/channel/TopGuildMessageChannel;)Ldev/kord/core/behavior/channel/CategoryBehavior; public static fun getCategoryId (Ldev/kord/core/entity/channel/TopGuildMessageChannel;)Ldev/kord/common/entity/Snowflake; public static fun getEffectivePermissions (Ldev/kord/core/entity/channel/TopGuildMessageChannel;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getFlags (Ldev/kord/core/entity/channel/TopGuildMessageChannel;)Ldev/kord/common/entity/ChannelFlags; public static fun getGuild (Ldev/kord/core/entity/channel/TopGuildMessageChannel;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/entity/channel/TopGuildMessageChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildId (Ldev/kord/core/entity/channel/TopGuildMessageChannel;)Ldev/kord/common/entity/Snowflake; @@ -8281,6 +8346,7 @@ public final class dev/kord/core/entity/channel/VoiceChannel : dev/kord/core/beh public fun getCategoryId ()Ldev/kord/common/entity/Snowflake; public fun getData ()Ldev/kord/core/cache/data/ChannelData; public fun getEffectivePermissions (Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; public fun getGuild (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getGuildId ()Ldev/kord/common/entity/Snowflake; @@ -8397,11 +8463,13 @@ public final class dev/kord/core/entity/channel/thread/NewsChannelThread : dev/k public fun deleteMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun fetchChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun fetchChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getAppliedTags ()Ljava/util/List; public fun getArchiveTimestamp ()Lkotlinx/datetime/Instant; public fun getAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; public fun getCreateTimestamp ()Lkotlinx/datetime/Instant; public fun getData ()Ldev/kord/core/cache/data/ChannelData; public fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; public fun getGuild (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getGuildId ()Ldev/kord/common/entity/Snowflake; @@ -8416,6 +8484,7 @@ public final class dev/kord/core/entity/channel/thread/NewsChannelThread : dev/k public fun getMemberCount ()Ldev/kord/common/entity/optional/OptionalInt; public fun getMembers ()Lkotlinx/coroutines/flow/Flow; public fun getMention ()Ljava/lang/String; + public fun getMessage ()Ldev/kord/core/entity/Message; public fun getMessage (Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getMessageCount ()Ldev/kord/common/entity/optional/OptionalInt; public fun getMessageOrNull (Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -8472,11 +8541,13 @@ public final class dev/kord/core/entity/channel/thread/TextChannelThread : dev/k public fun deleteMessage (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun fetchChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun fetchChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getAppliedTags ()Ljava/util/List; public fun getArchiveTimestamp ()Lkotlinx/datetime/Instant; public fun getAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; public fun getCreateTimestamp ()Lkotlinx/datetime/Instant; public fun getData ()Ldev/kord/core/cache/data/ChannelData; public fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; public fun getGuild (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getGuildId ()Ldev/kord/common/entity/Snowflake; @@ -8491,6 +8562,7 @@ public final class dev/kord/core/entity/channel/thread/TextChannelThread : dev/k public fun getMemberCount ()Ldev/kord/common/entity/optional/OptionalInt; public fun getMembers ()Lkotlinx/coroutines/flow/Flow; public fun getMention ()Ljava/lang/String; + public fun getMessage ()Ldev/kord/core/entity/Message; public fun getMessage (Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getMessageCount ()Ldev/kord/common/entity/optional/OptionalInt; public fun getMessageOrNull (Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -8535,12 +8607,14 @@ public final class dev/kord/core/entity/channel/thread/TextChannelThread : dev/k } public abstract interface class dev/kord/core/entity/channel/thread/ThreadChannel : dev/kord/core/behavior/channel/threads/ThreadChannelBehavior, dev/kord/core/entity/channel/GuildMessageChannel { + public abstract fun getAppliedTags ()Ljava/util/List; public abstract fun getArchiveTimestamp ()Lkotlinx/datetime/Instant; public abstract fun getAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; public abstract fun getCreateTimestamp ()Lkotlinx/datetime/Instant; public abstract fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; public abstract fun getMember ()Ldev/kord/core/entity/channel/thread/ThreadMember; public abstract fun getMemberCount ()Ldev/kord/common/entity/optional/OptionalInt; + public abstract fun getMessage ()Ldev/kord/core/entity/Message; public abstract fun getMessageCount ()Ldev/kord/common/entity/optional/OptionalInt; public abstract fun getOwner ()Ldev/kord/core/behavior/UserBehavior; public abstract fun getOwnerId ()Ldev/kord/common/entity/Snowflake; @@ -8564,10 +8638,12 @@ public final class dev/kord/core/entity/channel/thread/ThreadChannel$DefaultImpl public static fun deleteMessage (Ldev/kord/core/entity/channel/thread/ThreadChannel;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannel (Ldev/kord/core/entity/channel/thread/ThreadChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun fetchChannelOrNull (Ldev/kord/core/entity/channel/thread/ThreadChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getAppliedTags (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Ljava/util/List; public static fun getArchiveTimestamp (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Lkotlinx/datetime/Instant; public static fun getAutoArchiveDuration (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Ldev/kord/common/entity/ArchiveDuration; public static fun getCreateTimestamp (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Lkotlinx/datetime/Instant; public static fun getDefaultAutoArchiveDuration (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Ldev/kord/common/entity/ArchiveDuration; + public static fun getFlags (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Ldev/kord/common/entity/ChannelFlags; public static fun getGuild (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Ldev/kord/core/behavior/GuildBehavior; public static fun getGuild (Ldev/kord/core/entity/channel/thread/ThreadChannel;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getGuildId (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Ldev/kord/common/entity/Snowflake; @@ -8581,6 +8657,7 @@ public final class dev/kord/core/entity/channel/thread/ThreadChannel$DefaultImpl public static fun getMemberCount (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Ldev/kord/common/entity/optional/OptionalInt; public static fun getMembers (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Lkotlinx/coroutines/flow/Flow; public static fun getMention (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Ljava/lang/String; + public static fun getMessage (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Ldev/kord/core/entity/Message; public static fun getMessage (Ldev/kord/core/entity/channel/thread/ThreadChannel;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getMessageCount (Ldev/kord/core/entity/channel/thread/ThreadChannel;)Ldev/kord/common/entity/optional/OptionalInt; public static fun getMessageOrNull (Ldev/kord/core/entity/channel/thread/ThreadChannel;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -8610,6 +8687,10 @@ public final class dev/kord/core/entity/channel/thread/ThreadChannel$DefaultImpl public static fun withStrategy (Ldev/kord/core/entity/channel/thread/ThreadChannel;Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/channel/thread/ThreadChannel; } +public final class dev/kord/core/entity/channel/thread/ThreadChannelKt { + public static final fun editAsForumThread (Ldev/kord/core/entity/channel/thread/ThreadChannel;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + public final class dev/kord/core/entity/channel/thread/ThreadMember : dev/kord/core/behavior/ThreadMemberBehavior { public fun (Ldev/kord/core/cache/data/ThreadMemberData;Ldev/kord/core/Kord;Ldev/kord/core/supplier/EntitySupplier;)V public synthetic fun (Ldev/kord/core/cache/data/ThreadMemberData;Ldev/kord/core/Kord;Ldev/kord/core/supplier/EntitySupplier;ILkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -10733,6 +10814,41 @@ public final class dev/kord/core/event/channel/DMChannelUpdateEvent : dev/kord/c public fun toString ()Ljava/lang/String; } +public final class dev/kord/core/event/channel/ForumChannelCreateEvent : dev/kord/core/event/channel/ChannelCreateEvent { + public fun (Ldev/kord/core/entity/channel/ForumChannel;ILjava/lang/Object;)V + public synthetic fun getChannel ()Ldev/kord/core/entity/channel/Channel; + public fun getChannel ()Ldev/kord/core/entity/channel/ForumChannel; + public fun getCustomContext ()Ljava/lang/Object; + public fun getGateway ()Ldev/kord/gateway/Gateway; + public fun getKord ()Ldev/kord/core/Kord; + public fun getShard ()I + public fun toString ()Ljava/lang/String; +} + +public final class dev/kord/core/event/channel/ForumChannelDeleteEvent : dev/kord/core/event/channel/ChannelDeleteEvent { + public fun (Ldev/kord/core/entity/channel/ForumChannel;ILjava/lang/Object;)V + public synthetic fun getChannel ()Ldev/kord/core/entity/channel/Channel; + public fun getChannel ()Ldev/kord/core/entity/channel/ForumChannel; + public fun getCustomContext ()Ljava/lang/Object; + public fun getGateway ()Ldev/kord/gateway/Gateway; + public fun getKord ()Ldev/kord/core/Kord; + public fun getShard ()I + public fun toString ()Ljava/lang/String; +} + +public final class dev/kord/core/event/channel/ForumChannelUpdateEvent : dev/kord/core/event/channel/ChannelUpdateEvent { + public fun (Ldev/kord/core/entity/channel/ForumChannel;Ldev/kord/core/entity/channel/ForumChannel;ILjava/lang/Object;)V + public synthetic fun getChannel ()Ldev/kord/core/entity/channel/Channel; + public fun getChannel ()Ldev/kord/core/entity/channel/ForumChannel; + public fun getCustomContext ()Ljava/lang/Object; + public fun getGateway ()Ldev/kord/gateway/Gateway; + public fun getKord ()Ldev/kord/core/Kord; + public synthetic fun getOld ()Ldev/kord/core/entity/channel/Channel; + public fun getOld ()Ldev/kord/core/entity/channel/ForumChannel; + public fun getShard ()I + public fun toString ()Ljava/lang/String; +} + public final class dev/kord/core/event/channel/NewsChannelCreateEvent : dev/kord/core/event/channel/ChannelCreateEvent { public fun (Ldev/kord/core/entity/channel/NewsChannel;ILjava/lang/Object;)V public synthetic fun getChannel ()Ldev/kord/core/entity/channel/Channel; diff --git a/core/src/main/kotlin/behavior/GuildBehavior.kt b/core/src/main/kotlin/behavior/GuildBehavior.kt index 51f06fd54dda..d2eb16c0bf5a 100644 --- a/core/src/main/kotlin/behavior/GuildBehavior.kt +++ b/core/src/main/kotlin/behavior/GuildBehavior.kt @@ -756,6 +756,16 @@ public suspend inline fun GuildBehavior.createTextChannel( return Channel.from(data, kord) as TextChannel } +public suspend inline fun GuildBehavior.createForumChannel( + name: String, + builder: ForumChannelCreateBuilder.() -> Unit = {} +): ForumChannel { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + val response = kord.rest.guild.createForumChannel(id, name, builder) + val data = ChannelData.from(response) + return Channel.from(data, kord) as ForumChannel +} + /** * Requests to create a new voice channel. * diff --git a/core/src/main/kotlin/behavior/channel/ForumChannelBehavior.kt b/core/src/main/kotlin/behavior/channel/ForumChannelBehavior.kt new file mode 100644 index 000000000000..cdad1ba6ca34 --- /dev/null +++ b/core/src/main/kotlin/behavior/channel/ForumChannelBehavior.kt @@ -0,0 +1,77 @@ +package dev.kord.core.behavior.channel + +import dev.kord.common.entity.Snowflake +import dev.kord.core.behavior.channel.threads.ThreadParentChannelBehavior +import dev.kord.core.cache.data.ChannelData +import dev.kord.core.entity.channel.Channel +import dev.kord.core.entity.channel.ForumChannel +import dev.kord.core.entity.channel.thread.TextChannelThread +import dev.kord.rest.builder.channel.ForumChannelModifyBuilder +import dev.kord.rest.builder.channel.ForumTagBuilder +import dev.kord.rest.builder.channel.ModifyForumTagBuilder +import dev.kord.rest.builder.channel.thread.StartForumThreadBuilder +import dev.kord.rest.service.patchForumChannel +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.filterIsInstance +import kotlinx.datetime.Instant +import kotlin.contracts.InvocationKind +import kotlin.contracts.contract + +public interface ForumChannelBehavior : ThreadParentChannelBehavior { + + override val activeThreads: Flow + get() = super.activeThreads.filterIsInstance() + + override fun getPublicArchivedThreads(before: Instant?, limit: Int?): Flow { + return super.getPublicArchivedThreads(before, limit).filterIsInstance() + } + + public suspend fun createTag(name: String, builder: ForumTagBuilder.() -> Unit = {}): ForumChannel { + val request = kord.rest.channel.createForumTag(id, name, builder) + val data = ChannelData.from(request) + + return Channel.from(data, kord) as ForumChannel + } + + public suspend fun deleteTag(tagId: Snowflake, reason: String? = null): ForumChannel { + val request = kord.rest.channel.deleteForumTag(id, tagId, reason) + val data = ChannelData.from(request) + + return Channel.from(data, kord) as ForumChannel + } + + public suspend fun editTag(tagId: Snowflake, builder: ModifyForumTagBuilder.() -> Unit): ForumChannel { + val request = kord.rest.channel.editForumTag(id, tagId, builder) + val data = ChannelData.from(request) + + return Channel.from(data, kord) as ForumChannel + } + + public suspend fun startPublicThread( + name: String, + builder: StartForumThreadBuilder.() -> Unit = {} + ): TextChannelThread { + return unsafeStartThread(name, builder) + } +} + +internal suspend fun ThreadParentChannelBehavior.unsafeStartThread( + name: String, + builder: StartForumThreadBuilder.() -> Unit +): TextChannelThread { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + + val response = kord.rest.channel.startForumThread(id, name, builder) + val data = ChannelData.from(response) + + return Channel.from(data, kord) as TextChannelThread +} + +public suspend inline fun ForumChannelBehavior.edit(builder: ForumChannelModifyBuilder.() -> Unit): ForumChannel { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + + val response = kord.rest.channel.patchForumChannel(id, builder) + val data = ChannelData.from(response) + + return Channel.from(data, kord) as ForumChannel +} diff --git a/core/src/main/kotlin/behavior/channel/NewsChannelBehavior.kt b/core/src/main/kotlin/behavior/channel/NewsChannelBehavior.kt index 3f37230a1cc3..fd75430b8f18 100644 --- a/core/src/main/kotlin/behavior/channel/NewsChannelBehavior.kt +++ b/core/src/main/kotlin/behavior/channel/NewsChannelBehavior.kt @@ -17,13 +17,15 @@ import dev.kord.core.exception.EntityNotFoundException import dev.kord.core.supplier.EntitySupplier import dev.kord.core.supplier.EntitySupplyStrategy import dev.kord.rest.builder.channel.NewsChannelModifyBuilder +import dev.kord.rest.builder.channel.thread.StartThreadWithMessageBuilder +import dev.kord.rest.builder.channel.thread.StartThreadWithoutMessageBuilder import dev.kord.rest.json.request.ChannelFollowRequest import dev.kord.rest.request.RestRequestException import dev.kord.rest.service.patchNewsChannel import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filterIsInstance import kotlinx.datetime.Instant -import java.util.* +import java.util.Objects import kotlin.contracts.InvocationKind import kotlin.contracts.contract @@ -87,7 +89,21 @@ public interface NewsChannelBehavior : ThreadParentChannelBehavior { archiveDuration: ArchiveDuration = ArchiveDuration.Day, reason: String? = null ): NewsChannelThread { - return unsafeStartThread(name, archiveDuration, ChannelType.PublicNewsThread) { this.reason = reason } as NewsChannelThread + return startPublicThread(name) { + this.reason = reason + this.autoArchiveDuration = archiveDuration + } + } + + public suspend fun startPublicThread( + name: String, + builder: StartThreadWithoutMessageBuilder.() -> Unit = {} + ): NewsChannelThread { + return unsafeStartThread(name) { + builder() + + type = ChannelType.PublicNewsThread + } as NewsChannelThread } public suspend fun startPublicThreadWithMessage( @@ -96,7 +112,18 @@ public interface NewsChannelBehavior : ThreadParentChannelBehavior { archiveDuration: ArchiveDuration = ArchiveDuration.Day, reason: String? = null ): NewsChannelThread { - return unsafeStartPublicThreadWithMessage(messageId, name, archiveDuration, reason) as NewsChannelThread + return startPublicThreadWithMessage(messageId, name) { + this.reason = reason + this.autoArchiveDuration = archiveDuration + } + } + + public suspend fun startPublicThreadWithMessage( + messageId: Snowflake, + name: String, + builder: StartThreadWithMessageBuilder.() -> Unit = {} + ): NewsChannelThread { + return unsafeStartPublicThreadWithMessage(messageId, name, builder) as NewsChannelThread } diff --git a/core/src/main/kotlin/behavior/channel/TextChannelBehavior.kt b/core/src/main/kotlin/behavior/channel/TextChannelBehavior.kt index 94f7024e6425..6bf8f3dfda97 100644 --- a/core/src/main/kotlin/behavior/channel/TextChannelBehavior.kt +++ b/core/src/main/kotlin/behavior/channel/TextChannelBehavior.kt @@ -16,7 +16,8 @@ import dev.kord.core.exception.EntityNotFoundException import dev.kord.core.supplier.EntitySupplier import dev.kord.core.supplier.EntitySupplyStrategy import dev.kord.rest.builder.channel.TextChannelModifyBuilder -import dev.kord.rest.builder.channel.thread.StartThreadBuilder +import dev.kord.rest.builder.channel.thread.StartThreadWithMessageBuilder +import dev.kord.rest.builder.channel.thread.StartThreadWithoutMessageBuilder import dev.kord.rest.request.RestRequestException import dev.kord.rest.service.patchTextChannel import kotlinx.coroutines.flow.Flow @@ -68,32 +69,66 @@ public interface TextChannelBehavior : PrivateThreadParentChannelBehavior { public suspend fun startPublicThread( name: String, archiveDuration: ArchiveDuration = ArchiveDuration.Day, - builder: StartThreadBuilder.() -> Unit = {} + reason: String? = null, + builder: StartThreadWithoutMessageBuilder.() -> Unit = {} ): TextChannelThread { - return unsafeStartThread( - name, - archiveDuration, - ChannelType.PublicGuildThread, - builder - ) as TextChannelThread + return startPublicThread(name) { + this.reason = reason + this.autoArchiveDuration = archiveDuration + builder() + } + } + + public suspend fun startPublicThread( + name: String, + builder: StartThreadWithoutMessageBuilder.() -> Unit = {} + ): TextChannelThread { + return unsafeStartThread(name) { + builder() + + type = ChannelType.PublicGuildThread + } as TextChannelThread } public suspend fun startPrivateThread( name: String, archiveDuration: ArchiveDuration = ArchiveDuration.Day, - builder: StartThreadBuilder.() -> Unit = {} + reason: String? = null, + builder: StartThreadWithoutMessageBuilder.() -> Unit = {} + ): TextChannelThread { + return startPrivateThread(name) { + this.reason = reason + this.autoArchiveDuration = archiveDuration + builder() + } + } + + public suspend fun startPrivateThread( + name: String, + builder: StartThreadWithoutMessageBuilder.() -> Unit = {} ): TextChannelThread { - val startBuilder = StartThreadBuilder(name, archiveDuration, ChannelType.PrivateThread).apply(builder) - return unsafeStartThread(startBuilder.name, startBuilder.autoArchiveDuration, ChannelType.PrivateThread, builder) as TextChannelThread + return unsafeStartThread(name) { + builder() + type = ChannelType.PrivateThread + } as TextChannelThread } public suspend fun startPublicThreadWithMessage( messageId: Snowflake, name: String, - archiveDuration: ArchiveDuration = ArchiveDuration.Day, reason: String? = null ): TextChannelThread { - return unsafeStartPublicThreadWithMessage(messageId, name, archiveDuration, reason) as TextChannelThread + return startPublicThreadWithMessage(messageId, name) { + this.reason = reason + } + } + + public suspend fun startPublicThreadWithMessage( + messageId: Snowflake, + name: String, + builder: StartThreadWithMessageBuilder.() -> Unit = {} + ): TextChannelThread { + return unsafeStartPublicThreadWithMessage(messageId, name, builder) as TextChannelThread } override fun getPublicArchivedThreads(before: Instant?, limit: Int?): Flow { diff --git a/core/src/main/kotlin/behavior/channel/threads/ThreadParentChannelBehavior.kt b/core/src/main/kotlin/behavior/channel/threads/ThreadParentChannelBehavior.kt index e0e1ebe1632b..cbc6d47cad13 100644 --- a/core/src/main/kotlin/behavior/channel/threads/ThreadParentChannelBehavior.kt +++ b/core/src/main/kotlin/behavior/channel/threads/ThreadParentChannelBehavior.kt @@ -1,13 +1,11 @@ package dev.kord.core.behavior.channel.threads -import dev.kord.common.entity.ArchiveDuration -import dev.kord.common.entity.ChannelType import dev.kord.common.entity.Snowflake import dev.kord.common.exception.RequestException import dev.kord.core.Kord import dev.kord.core.behavior.channel.ChannelBehavior import dev.kord.core.behavior.channel.GuildChannelBehavior -import dev.kord.core.behavior.channel.TopGuildMessageChannelBehavior +import dev.kord.core.behavior.channel.TopGuildChannelBehavior import dev.kord.core.cache.data.ChannelData import dev.kord.core.entity.channel.Channel import dev.kord.core.entity.channel.ThreadParentChannel @@ -15,8 +13,8 @@ import dev.kord.core.entity.channel.thread.ThreadChannel import dev.kord.core.exception.EntityNotFoundException import dev.kord.core.supplier.EntitySupplier import dev.kord.core.supplier.EntitySupplyStrategy -import dev.kord.rest.builder.channel.thread.StartThreadBuilder -import dev.kord.rest.json.request.StartThreadRequest +import dev.kord.rest.builder.channel.thread.StartThreadWithMessageBuilder +import dev.kord.rest.builder.channel.thread.StartThreadWithoutMessageBuilder import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filter import kotlinx.datetime.Instant @@ -25,7 +23,7 @@ import java.util.* /** * Behavior of channels that can contain public threads. */ -public interface ThreadParentChannelBehavior : TopGuildMessageChannelBehavior { +public interface ThreadParentChannelBehavior : TopGuildChannelBehavior { /** * Returns all active public and private threads in the channel. * Threads are ordered by their id, in descending order. @@ -128,12 +126,10 @@ public interface PrivateThreadParentChannelBehavior : ThreadParentChannelBehavio */ internal suspend fun ThreadParentChannelBehavior.unsafeStartThread( name: String, - archiveDuration: ArchiveDuration = ArchiveDuration.Day, - type: ChannelType, - builder: StartThreadBuilder.() -> Unit + builder: StartThreadWithoutMessageBuilder.() -> Unit ): ThreadChannel { - val response = - kord.rest.channel.startThread(id, name, archiveDuration, type, builder) + val startBuilder = StartThreadWithoutMessageBuilder(name).apply(builder) + val response = kord.rest.channel.startThread(id, startBuilder.toRequest(), startBuilder.reason) val data = ChannelData.from(response) return Channel.from(data, kord) as ThreadChannel @@ -142,12 +138,10 @@ internal suspend fun ThreadParentChannelBehavior.unsafeStartThread( internal suspend fun ThreadParentChannelBehavior.unsafeStartPublicThreadWithMessage( messageId: Snowflake, name: String, - archiveDuration: ArchiveDuration = ArchiveDuration.Day, - reason: String? = null + builder: StartThreadWithMessageBuilder.() -> Unit = {} ): ThreadChannel { - - val response = - kord.rest.channel.startThreadWithMessage(id, messageId, StartThreadRequest(name, archiveDuration), reason) + val request = StartThreadWithMessageBuilder(name).apply(builder).toRequest() + val response = kord.rest.channel.startThreadWithMessage(id, messageId, request) val data = ChannelData.from(response) return Channel.from(data, kord) as ThreadChannel diff --git a/core/src/main/kotlin/cache/data/ChannelData.kt b/core/src/main/kotlin/cache/data/ChannelData.kt index 478dc3dd04a9..f98e9500d44b 100644 --- a/core/src/main/kotlin/cache/data/ChannelData.kt +++ b/core/src/main/kotlin/cache/data/ChannelData.kt @@ -35,7 +35,16 @@ public data class ChannelData( val messageCount: OptionalInt = OptionalInt.Missing, val memberCount: OptionalInt = OptionalInt.Missing, val defaultAutoArchiveDuration: Optional = Optional.Missing(), - val member: Optional = Optional.Missing() + val member: Optional = Optional.Missing(), + val flags: Optional = Optional.Missing(), + val defaultSortOrder: Optional = Optional.Missing(), + val totalMessageSent: OptionalInt = OptionalInt.Missing, + val defaultForumLayout: Optional = Optional.Missing(), + val availableTags: Optional> = Optional.Missing(), + val appliedTags: Optional> = Optional.Missing(), + val defaultReactionEmoji: Optional = Optional.Missing(), + val defaultThreadRateLimitPerUser: Optional = Optional.Missing(), + val message: Optional = Optional.Missing() ) { @@ -69,7 +78,16 @@ public data class ChannelData( messageCount, memberCount, defaultAutoArchiveDuration, - member.map { ThreadMemberData.from(it, id) } + member.map { ThreadMemberData.from(it, id) }, + flags, + defaultSortOrder, + totalMessageSent, + defaultForumLayout, + availableTags, + appliedTags, + defaultReactionEmoji, + defaultThreadRateLimitPerUser, + message.map { MessageData.from(it) } ) } } diff --git a/core/src/main/kotlin/cache/data/MessageData.kt b/core/src/main/kotlin/cache/data/MessageData.kt index 25fbb655292c..6883ae3d39a7 100644 --- a/core/src/main/kotlin/cache/data/MessageData.kt +++ b/core/src/main/kotlin/cache/data/MessageData.kt @@ -38,6 +38,7 @@ public data class MessageData( val interaction: Optional = Optional.Missing(), val components: Optional> = Optional.Missing(), val roleSubscriptionData: Optional = Optional.Missing(), + val position: OptionalInt = OptionalInt.Missing, ) { public fun plus(selfId: Snowflake, reaction: MessageReactionAddData): MessageData { @@ -106,7 +107,8 @@ public data class MessageData( referencedMessage = referencedMessage, interaction = interaction, components = components, - roleSubscriptionData = roleSubscriptionData + roleSubscriptionData = roleSubscriptionData, + position = position, ) } @@ -143,7 +145,8 @@ public data class MessageData( referencedMessage.mapNotNull { from(it) }, interaction.map { MessageInteractionData.from(it) }, components = components.mapList { ComponentData.from(it) }, - roleSubscriptionData = roleSubscriptionData + roleSubscriptionData = roleSubscriptionData, + position = position, ) } } diff --git a/core/src/main/kotlin/entity/Message.kt b/core/src/main/kotlin/entity/Message.kt index 231e2f835588..80785ab2150e 100644 --- a/core/src/main/kotlin/entity/Message.kt +++ b/core/src/main/kotlin/entity/Message.kt @@ -5,6 +5,7 @@ import dev.kord.common.entity.MessageType.RoleSubscriptionPurchase import dev.kord.common.entity.optional.mapNullable import dev.kord.common.entity.optional.orEmpty import dev.kord.common.entity.optional.unwrap +import dev.kord.common.entity.optional.value import dev.kord.common.exception.RequestException import dev.kord.core.Kord import dev.kord.core.behavior.MessageBehavior @@ -289,6 +290,12 @@ public class Message( /** The data of the [RoleSubscription] purchase or renewal that prompted this [RoleSubscriptionPurchase] message. */ public val roleSubscriptionData: RoleSubscription? get() = data.roleSubscriptionData.value + /** + * A generally increasing integer that represents the **approximate** position of the message in the thread. + * Can be used to estimate the relative position along with total_message_sent on the parent thread, + */ + public val position: Int? get() = data.position.value + /** The [ActionRowComponent]s of this message. */ public val actionRows: List get() = data.components.orEmpty().map { ActionRowComponent(it) } diff --git a/core/src/main/kotlin/entity/channel/Channel.kt b/core/src/main/kotlin/entity/channel/Channel.kt index 878aa6c81d9f..ed67805c9f3b 100644 --- a/core/src/main/kotlin/entity/channel/Channel.kt +++ b/core/src/main/kotlin/entity/channel/Channel.kt @@ -1,5 +1,6 @@ package dev.kord.core.entity.channel +import dev.kord.common.entity.ChannelFlags import dev.kord.common.entity.ChannelType import dev.kord.common.entity.ChannelType.* import dev.kord.common.entity.Snowflake @@ -26,6 +27,9 @@ public interface Channel : ChannelBehavior { */ public val type: ChannelType get() = data.type + /** The flags of this channel, if present. */ + public val flags: ChannelFlags? get() = data.flags.value + /** * Returns a new [Channel] with the given [strategy]. */ @@ -43,22 +47,26 @@ public interface Channel : ChannelBehavior { kord: Kord, strategy: EntitySupplyStrategy<*> = kord.resources.defaultStrategy ): Channel = when (data.type) { - GuildText -> TextChannel(data, kord) - DM, GroupDM -> DmChannel(data, kord) - GuildStageVoice -> StageChannel(data, kord) - GuildVoice -> VoiceChannel(data, kord) - GuildCategory -> Category(data, kord) - GuildNews -> NewsChannel(data, kord) - PublicNewsThread -> NewsChannelThread(data, kord) - PrivateThread, PublicGuildThread -> TextChannelThread(data, kord) + GuildText -> TextChannel(data, kord) + DM, GroupDM -> DmChannel(data, kord) + GuildStageVoice -> StageChannel(data, kord) + GuildVoice -> VoiceChannel(data, kord) + GuildCategory -> Category(data, kord) + GuildNews -> NewsChannel(data, kord) + GuildForum -> ForumChannel(data, kord) + PublicNewsThread -> NewsChannelThread(data, kord) + PrivateThread, PublicGuildThread -> { + TextChannelThread(data, kord) + } - GuildDirectory, is Unknown -> { - if (data.threadMetadata.value == null) Channel(data, kord, strategy.supply(kord)) - else ThreadChannel(data, kord, strategy.supply(kord)) + GuildDirectory, is Unknown -> { + if (data.threadMetadata.value == null) Channel(data, kord, strategy.supply(kord)) + else ThreadChannel(data, kord, strategy.supply(kord)) + } } } } -} + internal fun Channel( data: ChannelData, diff --git a/core/src/main/kotlin/entity/channel/ForumChannel.kt b/core/src/main/kotlin/entity/channel/ForumChannel.kt new file mode 100644 index 000000000000..ff5b6bc2a3f3 --- /dev/null +++ b/core/src/main/kotlin/entity/channel/ForumChannel.kt @@ -0,0 +1,44 @@ +package dev.kord.core.entity.channel + +import dev.kord.common.entity.DiscordDefaultReaction +import dev.kord.common.entity.DiscordForumTag +import dev.kord.common.entity.ForumLayoutType +import dev.kord.core.Kord +import dev.kord.core.behavior.channel.ForumChannelBehavior +import dev.kord.core.behavior.channel.threads.ThreadParentChannelBehavior +import dev.kord.core.cache.data.ChannelData +import dev.kord.core.supplier.EntitySupplier +import dev.kord.core.supplier.EntitySupplyStrategy +import kotlin.time.Duration + +public class ForumChannel( + override val data: ChannelData, + override val kord: Kord, + override val supplier: EntitySupplier = kord.defaultSupplier +) : ThreadParentChannel, ThreadParentChannelBehavior, ForumChannelBehavior { + + /** + * The channel topic, if present. + */ + public val topic: String? get() = data.topic.value + + public val availableTags: List? get() = data.availableTags.value + + public val defaultReactionEmoji: DiscordDefaultReaction? get() = data.defaultReactionEmoji.value + + public val defaultThreadRateLimitPerUser: Duration? get() = data.defaultThreadRateLimitPerUser.value + + + /** + * The default layout of the forum, if present. + */ + public val defaultForumLayout: ForumLayoutType? get() = data.defaultForumLayout.value + + override fun withStrategy(strategy: EntitySupplyStrategy<*>): ForumChannel { + return ForumChannel(data,kord, strategy.supply(kord)) + } + + override fun toString(): String { + return "ForumChannel(data=$data, kord=$kord, supplier=$supplier)" + } +} \ No newline at end of file diff --git a/core/src/main/kotlin/entity/channel/NewsChannel.kt b/core/src/main/kotlin/entity/channel/NewsChannel.kt index 187e6e9ffdba..61bbb0116a6c 100644 --- a/core/src/main/kotlin/entity/channel/NewsChannel.kt +++ b/core/src/main/kotlin/entity/channel/NewsChannel.kt @@ -29,6 +29,13 @@ public class NewsChannel( override suspend fun asChannel(): NewsChannel = this override suspend fun asChannelOrNull(): NewsChannel = this + override suspend fun fetchChannel(): NewsChannel { + return super.fetchChannel() + } + + override suspend fun fetchChannelOrNull(): NewsChannel? { + return super.fetchChannelOrNull() + } /** * Returns a new [NewsChannel] with the given [strategy]. diff --git a/core/src/main/kotlin/entity/channel/TextChannel.kt b/core/src/main/kotlin/entity/channel/TextChannel.kt index 0024e3fb0db3..8aa3a3996087 100644 --- a/core/src/main/kotlin/entity/channel/TextChannel.kt +++ b/core/src/main/kotlin/entity/channel/TextChannel.kt @@ -19,7 +19,7 @@ public class TextChannel( override val data: ChannelData, override val kord: Kord, override val supplier: EntitySupplier = kord.defaultSupplier -) : CategorizableChannel, TextChannelBehavior, ThreadParentChannel { +) : CategorizableChannel, TextChannelBehavior, ThreadParentChannel, TopGuildMessageChannel { /** * Whether the channel is nsfw. @@ -44,6 +44,13 @@ public class TextChannel( override suspend fun asChannel(): TextChannel = this override suspend fun asChannelOrNull(): TextChannel = this + override suspend fun fetchChannel(): TextChannel { + return super.fetchChannel() + } + + override suspend fun fetchChannelOrNull(): TextChannel? { + return super.fetchChannelOrNull() + } override fun hashCode(): Int = Objects.hash(id, guildId) diff --git a/core/src/main/kotlin/entity/channel/ThreadParentChannel.kt b/core/src/main/kotlin/entity/channel/ThreadParentChannel.kt index d35a54a48484..8f3bd89e1da6 100644 --- a/core/src/main/kotlin/entity/channel/ThreadParentChannel.kt +++ b/core/src/main/kotlin/entity/channel/ThreadParentChannel.kt @@ -3,7 +3,22 @@ package dev.kord.core.entity.channel import dev.kord.core.behavior.channel.threads.ThreadParentChannelBehavior import dev.kord.core.supplier.EntitySupplyStrategy -public interface ThreadParentChannel : ThreadParentChannelBehavior, TopGuildMessageChannel { +public interface ThreadParentChannel : ThreadParentChannelBehavior, TopGuildChannel { + override suspend fun asChannel(): ThreadParentChannel { + return super.asChannel() + } + + override suspend fun asChannelOrNull(): ThreadParentChannel? { + return super.asChannelOrNull() + } + + override suspend fun fetchChannel(): ThreadParentChannel { + return super.fetchChannel() + } + + override suspend fun fetchChannelOrNull(): ThreadParentChannel? { + return super.fetchChannelOrNull() + } override fun withStrategy(strategy: EntitySupplyStrategy<*>): ThreadParentChannel } diff --git a/core/src/main/kotlin/entity/channel/thread/TextChannelThread.kt b/core/src/main/kotlin/entity/channel/thread/TextChannelThread.kt index b02116aea81e..b559bb36e10d 100644 --- a/core/src/main/kotlin/entity/channel/thread/TextChannelThread.kt +++ b/core/src/main/kotlin/entity/channel/thread/TextChannelThread.kt @@ -49,5 +49,4 @@ public class TextChannelThread( override fun withStrategy(strategy: EntitySupplyStrategy<*>): TextChannelThread { return TextChannelThread(data, kord, strategy.supply(kord)) } - } diff --git a/core/src/main/kotlin/entity/channel/thread/ThreadChannel.kt b/core/src/main/kotlin/entity/channel/thread/ThreadChannel.kt index abca84d2071a..f7e8aeae8004 100644 --- a/core/src/main/kotlin/entity/channel/thread/ThreadChannel.kt +++ b/core/src/main/kotlin/entity/channel/thread/ThreadChannel.kt @@ -11,10 +11,16 @@ import dev.kord.core.Kord import dev.kord.core.behavior.UserBehavior import dev.kord.core.behavior.channel.threads.ThreadChannelBehavior import dev.kord.core.cache.data.ChannelData +import dev.kord.core.cache.data.toData +import dev.kord.core.entity.Message +import dev.kord.core.entity.channel.Channel import dev.kord.core.entity.channel.GuildMessageChannel import dev.kord.core.supplier.EntitySupplier import dev.kord.core.supplier.EntitySupplyStrategy +import dev.kord.rest.builder.channel.thread.ForumThreadModifyBuilder import kotlinx.datetime.Instant +import kotlin.contracts.InvocationKind +import kotlin.contracts.contract import kotlin.time.Duration public interface ThreadChannel : GuildMessageChannel, ThreadChannelBehavior { @@ -100,12 +106,27 @@ public interface ThreadChannel : GuildMessageChannel, ThreadChannelBehavior { public val member: ThreadMember? get() = data.member.unwrap { ThreadMember(it, kord) } + /** + * Only available when creating a thread in a forum channel + */ + public val message: Message? get() = data.message.unwrap { Message(it, kord) } + + /** + * Only available when creating a thread in a forum channel + */ + public val appliedTags: List? get() = data.appliedTags.value + override fun withStrategy(strategy: EntitySupplyStrategy<*>): ThreadChannel { return ThreadChannel(data, kord, strategy.supply(kord)) } } - +public suspend inline fun ThreadChannel.editAsForumThread(builder: ForumThreadModifyBuilder.() -> Unit): TextChannelThread { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + val appliedBuilder = ForumThreadModifyBuilder().apply(builder) + val patchedChannel = kord.rest.channel.patchThread(id, appliedBuilder.toRequest(), appliedBuilder.reason) + return Channel.from(patchedChannel.toData(), kord) as TextChannelThread +} internal fun ThreadChannel(data: ChannelData, kord: Kord, supplier: EntitySupplier = kord.defaultSupplier): ThreadChannel { return object : ThreadChannel { diff --git a/core/src/main/kotlin/event/channel/ChannelCreateEvent.kt b/core/src/main/kotlin/event/channel/ChannelCreateEvent.kt index dcb7461a16b8..e504dae7b707 100644 --- a/core/src/main/kotlin/event/channel/ChannelCreateEvent.kt +++ b/core/src/main/kotlin/event/channel/ChannelCreateEvent.kt @@ -71,6 +71,17 @@ public class StageChannelCreateEvent( } } +public class ForumChannelCreateEvent( + override val channel: ForumChannel, + override val shard : Int, + override val customContext: Any?, + +) : ChannelCreateEvent { + override fun toString(): String { + return "ForumChannelCreateEvent(channel=$channel, shard=$shard)" + } +} + public class UnknownChannelCreateEvent( override val channel: Channel, override val shard: Int, diff --git a/core/src/main/kotlin/event/channel/ChannelDeleteEvent.kt b/core/src/main/kotlin/event/channel/ChannelDeleteEvent.kt index 479331ec2136..4cee2e8a050d 100644 --- a/core/src/main/kotlin/event/channel/ChannelDeleteEvent.kt +++ b/core/src/main/kotlin/event/channel/ChannelDeleteEvent.kt @@ -70,6 +70,17 @@ public class StageChannelDeleteEvent( } } +public class ForumChannelDeleteEvent( + override val channel: ForumChannel, + override val shard: Int, + override val customContext: Any?, +) : ChannelDeleteEvent { + override fun toString(): String { + return "ForumChannelDeleteEvent(channel=$channel, shard=$shard)" + } +} + + public class UnknownChannelDeleteEvent( override val channel: Channel, override val shard: Int, diff --git a/core/src/main/kotlin/event/channel/ChannelUpdateEvent.kt b/core/src/main/kotlin/event/channel/ChannelUpdateEvent.kt index 1d1f85df97a4..08f030c89216 100644 --- a/core/src/main/kotlin/event/channel/ChannelUpdateEvent.kt +++ b/core/src/main/kotlin/event/channel/ChannelUpdateEvent.kt @@ -79,6 +79,18 @@ public class StageChannelUpdateEvent( } } +public class ForumChannelUpdateEvent( + override val channel: ForumChannel, + override val old: ForumChannel?, + override val shard: Int, + override val customContext: Any?, +) : ChannelUpdateEvent { + override fun toString(): String { + return "ForumChannelUpdateEvent(channel=$channel, old=$old, shard=$shard)" + } +} + + public class UnknownChannelUpdateEvent( override val channel: Channel, override val old: Channel?, diff --git a/core/src/main/kotlin/gateway/handler/MessageEventHandler.kt b/core/src/main/kotlin/gateway/handler/MessageEventHandler.kt index 3c5283ce0a98..134f1fa29211 100644 --- a/core/src/main/kotlin/gateway/handler/MessageEventHandler.kt +++ b/core/src/main/kotlin/gateway/handler/MessageEventHandler.kt @@ -9,6 +9,7 @@ import dev.kord.core.cache.idEq import dev.kord.core.entity.Member import dev.kord.core.entity.Message import dev.kord.core.entity.ReactionEmoji +import dev.kord.core.entity.channel.Channel import dev.kord.core.event.message.* import dev.kord.gateway.* import kotlinx.coroutines.flow.map @@ -43,10 +44,11 @@ internal class MessageEventHandler : BaseGatewayEventHandler() { val data = MessageData.from(this) kord.cache.put(data) - kord.cache.query { idEq(ChannelData::id, channelId) }.update { + val query = kord.cache.query { idEq(ChannelData::id, channelId) } + + query.update { it.copy(lastMessageId = data.id.optionalSnowflake()) } - //get the user data only if it exists and the user isn't a webhook val userData = if (webhookId is OptionalSnowflake.Missing) { UserData.from(author).also { kord.cache.put(it) } @@ -65,6 +67,16 @@ internal class MessageEventHandler : BaseGatewayEventHandler() { kord.cache.put(interactionUserData) } + // Cache message count and total messages sent if present. + query.update { + if (it.messageCount is OptionalInt.Value && it.totalMessageSent is OptionalInt.Value) { + val newMessageCount = it.messageCount.value + 1 + val newTotalSent = it.totalMessageSent.value + 1 + it.copy(messageCount = newMessageCount.optionalInt(), totalMessageSent = newTotalSent.optionalInt()) + } else it.copy(messageCount = it.messageCount, totalMessageSent = it.totalMessageSent) + } + + mentions.forEach { val user = UserData.from(it) kord.cache.put(user) @@ -105,10 +117,19 @@ internal class MessageEventHandler : BaseGatewayEventHandler() { context: LazyContext?, ): MessageDeleteEvent = with(event.message) { val query = kord.cache.query { idEq(MessageData::id, id) } + val channelQuery = kord.cache.query { idEq(ChannelData::id, channelId)} val removed = query.singleOrNull()?.let { Message(it, kord) } query.remove() + channelQuery.update { + if (it.messageCount is OptionalInt.Value && it.totalMessageSent is OptionalInt.Value) { + val newMessageCount = it.messageCount.value - 1 + val newTotalSent = it.totalMessageSent.value - 1 + it.copy(messageCount = newMessageCount.optionalInt(), totalMessageSent = newTotalSent.optionalInt()) + } else it.copy(messageCount = it.messageCount, totalMessageSent = it.totalMessageSent) + } + MessageDeleteEvent(id, channelId, guildId.value, removed, kord, shard, context?.get()) } @@ -120,10 +141,19 @@ internal class MessageEventHandler : BaseGatewayEventHandler() { ): MessageBulkDeleteEvent = with(event.messageBulk) { val query = kord.cache.query { MessageData::id `in` ids } + val channelQuery = kord.cache.query { idEq(ChannelData::id, channelId)} val removed = query.asFlow().map { Message(it, kord) }.toSet() query.remove() + channelQuery.update { + if (it.messageCount is OptionalInt.Value && it.totalMessageSent is OptionalInt.Value) { + val newMessageCount = it.messageCount.value - ids.size + val newTotalSent = it.totalMessageSent.value - ids.size + it.copy(messageCount = newMessageCount.optionalInt(), totalMessageSent = newTotalSent.optionalInt()) + } else it.copy(messageCount = it.messageCount, totalMessageSent = it.totalMessageSent) + } + val ids = ids.asSequence().map { it }.toSet() MessageBulkDeleteEvent( diff --git a/core/src/main/kotlin/gateway/handler/ThreadEventHandler.kt b/core/src/main/kotlin/gateway/handler/ThreadEventHandler.kt index 0be861339f5b..38a257f66d16 100644 --- a/core/src/main/kotlin/gateway/handler/ThreadEventHandler.kt +++ b/core/src/main/kotlin/gateway/handler/ThreadEventHandler.kt @@ -4,6 +4,7 @@ import dev.kord.cache.api.put import dev.kord.cache.api.query import dev.kord.cache.api.remove import dev.kord.common.entity.ChannelType +import dev.kord.common.entity.optional.optionalSnowflake import dev.kord.common.entity.optional.orEmpty import dev.kord.core.Kord import dev.kord.core.cache.data.* @@ -34,6 +35,16 @@ internal class ThreadEventHandler : BaseGatewayEventHandler() { val channelData = event.channel.toData() kord.cache.put(channelData) + // update lastMessageId for forum channels when thread is created + // (same for other channels when message is created) + val parentId = channelData.parentId?.value!! + kord.cache.query { + ChannelData::type eq ChannelType.GuildForum + idEq(ChannelData::id, parentId) + }.update { + it.copy(lastMessageId = channelData.id.optionalSnowflake()) + } + val coreEvent = when (val channel = Channel.from(channelData, kord)) { is NewsChannelThread -> NewsChannelThreadCreateEvent(channel, shard, context?.get()) is TextChannelThread -> TextChannelThreadCreateEvent(channel, shard, context?.get()) diff --git a/core/src/test/kotlin/live/LiveMessageTest.kt b/core/src/test/kotlin/live/LiveMessageTest.kt index 92937e82118d..0637cf7cc94d 100644 --- a/core/src/test/kotlin/live/LiveMessageTest.kt +++ b/core/src/test/kotlin/live/LiveMessageTest.kt @@ -65,7 +65,7 @@ class LiveMessageTest : AbstractLiveEntityTest() { attachments = emptyList(), embeds = emptyList(), pinned = false, - type = MessageType.Default + type = MessageType.Default, ) ) ) diff --git a/rest/api/rest.api b/rest/api/rest.api index 29e280e25001..319a6c05cfd1 100644 --- a/rest/api/rest.api +++ b/rest/api/rest.api @@ -408,6 +408,106 @@ public final class dev/kord/rest/builder/channel/ChannelPermissionModifyBuilder public synthetic fun toRequest ()Ljava/lang/Object; } +public final class dev/kord/rest/builder/channel/ForumChannelCreateBuilder : dev/kord/rest/builder/AuditRequestBuilder, dev/kord/rest/builder/channel/PermissionOverwritesCreateBuilder { + public fun (Ljava/lang/String;)V + public fun addOverwrite (Ldev/kord/common/entity/Overwrite;)V + public final fun getAvailableTags ()Ljava/util/List; + public final fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public final fun getDefaultForumLayout ()Ldev/kord/common/entity/ForumLayoutType; + public final fun getDefaultReactionEmoji ()Ldev/kord/common/entity/DiscordDefaultReaction; + public final fun getDefaultReactionEmojiId ()Ldev/kord/common/entity/Snowflake; + public final fun getDefaultReactionEmojiName ()Ljava/lang/String; + public final fun getDefaultSortOrder ()Ldev/kord/common/entity/SortOrderType; + public final fun getDefaultThreadRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; + public final fun getFlags ()Ldev/kord/common/entity/ChannelFlags; + public final fun getName ()Ljava/lang/String; + public final fun getNsfw ()Ljava/lang/Boolean; + public final fun getParentId ()Ldev/kord/common/entity/Snowflake; + public fun getPermissionOverwrites ()Ljava/util/Set; + public final fun getPosition ()Ljava/lang/Integer; + public final fun getRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; + public fun getReason ()Ljava/lang/String; + public final fun getTopic ()Ljava/lang/String; + public final fun setAvailableTags (Ljava/util/List;)V + public final fun setDefaultAutoArchiveDuration (Ldev/kord/common/entity/ArchiveDuration;)V + public final fun setDefaultForumLayout (Ldev/kord/common/entity/ForumLayoutType;)V + public final fun setDefaultReactionEmoji (Ldev/kord/common/entity/DiscordDefaultReaction;)V + public final fun setDefaultReactionEmojiId (Ldev/kord/common/entity/Snowflake;)V + public final fun setDefaultReactionEmojiName (Ljava/lang/String;)V + public final fun setDefaultSortOrder (Ldev/kord/common/entity/SortOrderType;)V + public final fun setDefaultThreadRateLimitPerUser-BwNAW2A (Lkotlin/time/Duration;)V + public final fun setFlags (Ldev/kord/common/entity/ChannelFlags;)V + public final fun setName (Ljava/lang/String;)V + public final fun setNsfw (Ljava/lang/Boolean;)V + public final fun setParentId (Ldev/kord/common/entity/Snowflake;)V + public fun setPermissionOverwrites (Ljava/util/Set;)V + public final fun setPosition (Ljava/lang/Integer;)V + public final fun setRateLimitPerUser-BwNAW2A (Lkotlin/time/Duration;)V + public fun setReason (Ljava/lang/String;)V + public final fun setTopic (Ljava/lang/String;)V + public final fun tag (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V + public static synthetic fun tag$default (Ldev/kord/rest/builder/channel/ForumChannelCreateBuilder;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V + public fun toRequest ()Ldev/kord/rest/json/request/GuildChannelCreateRequest; + public synthetic fun toRequest ()Ljava/lang/Object; +} + +public final class dev/kord/rest/builder/channel/ForumChannelModifyBuilder : dev/kord/rest/builder/AuditRequestBuilder, dev/kord/rest/builder/channel/PermissionOverwritesModifyBuilder { + public fun ()V + public fun addOverwrite (Ldev/kord/common/entity/Overwrite;)V + public final fun getAvailableTags ()Ljava/util/List; + public final fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public final fun getDefaultForumLayout ()Ldev/kord/common/entity/ForumLayoutType; + public final fun getDefaultReactionEmoji ()Ldev/kord/common/entity/DiscordDefaultReaction; + public final fun getDefaultReactionEmojiId ()Ldev/kord/common/entity/Snowflake; + public final fun getDefaultReactionEmojiName ()Ljava/lang/String; + public final fun getDefaultSortOrder ()Ldev/kord/common/entity/SortOrderType; + public final fun getDefaultThreadRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; + public final fun getFlags ()Ldev/kord/common/entity/ChannelFlags; + public final fun getName ()Ljava/lang/String; + public final fun getNsfw ()Ljava/lang/Boolean; + public final fun getParentId ()Ldev/kord/common/entity/Snowflake; + public fun getPermissionOverwrites ()Ljava/util/Set; + public final fun getPosition ()Ljava/lang/Integer; + public final fun getRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; + public fun getReason ()Ljava/lang/String; + public final fun getTopic ()Ljava/lang/String; + public final fun setAvailableTags (Ljava/util/List;)V + public final fun setDefaultAutoArchiveDuration (Ldev/kord/common/entity/ArchiveDuration;)V + public final fun setDefaultForumLayout (Ldev/kord/common/entity/ForumLayoutType;)V + public final fun setDefaultReactionEmoji (Ldev/kord/common/entity/DiscordDefaultReaction;)V + public final fun setDefaultReactionEmojiId (Ldev/kord/common/entity/Snowflake;)V + public final fun setDefaultReactionEmojiName (Ljava/lang/String;)V + public final fun setDefaultSortOrder (Ldev/kord/common/entity/SortOrderType;)V + public final fun setDefaultThreadRateLimitPerUser-BwNAW2A (Lkotlin/time/Duration;)V + public final fun setFlags (Ldev/kord/common/entity/ChannelFlags;)V + public final fun setName (Ljava/lang/String;)V + public final fun setNsfw (Ljava/lang/Boolean;)V + public final fun setParentId (Ldev/kord/common/entity/Snowflake;)V + public fun setPermissionOverwrites (Ljava/util/Set;)V + public final fun setPosition (Ljava/lang/Integer;)V + public final fun setRateLimitPerUser-BwNAW2A (Lkotlin/time/Duration;)V + public fun setReason (Ljava/lang/String;)V + public final fun setTopic (Ljava/lang/String;)V + public final fun tag (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V + public static synthetic fun tag$default (Ldev/kord/rest/builder/channel/ForumChannelModifyBuilder;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V + public fun toRequest ()Ldev/kord/rest/json/request/ChannelModifyPatchRequest; + public synthetic fun toRequest ()Ljava/lang/Object; +} + +public final class dev/kord/rest/builder/channel/ForumTagBuilder : dev/kord/rest/builder/AuditRequestBuilder { + public fun (Ljava/lang/String;)V + public final fun getModerated ()Ljava/lang/Boolean; + public final fun getReactionEmojiId ()Ldev/kord/common/entity/Snowflake; + public final fun getReactionEmojiName ()Ljava/lang/String; + public fun getReason ()Ljava/lang/String; + public final fun setModerated (Ljava/lang/Boolean;)V + public final fun setReactionEmojiId (Ldev/kord/common/entity/Snowflake;)V + public final fun setReactionEmojiName (Ljava/lang/String;)V + public fun setReason (Ljava/lang/String;)V + public fun toRequest ()Ldev/kord/rest/json/request/ForumTagRequest; + public synthetic fun toRequest ()Ljava/lang/Object; +} + public final class dev/kord/rest/builder/channel/GuildChannelPositionModifyBuilder : dev/kord/rest/builder/RequestBuilder { public fun ()V public final fun getSwaps ()Ljava/util/List; @@ -454,6 +554,22 @@ public final class dev/kord/rest/builder/channel/InviteCreateBuilder : dev/kord/ public synthetic fun toRequest ()Ljava/lang/Object; } +public final class dev/kord/rest/builder/channel/ModifyForumTagBuilder : dev/kord/rest/builder/AuditRequestBuilder { + public fun ()V + public final fun getModerated ()Ljava/lang/Boolean; + public final fun getName ()Ljava/lang/String; + public final fun getReactionEmojiId ()Ldev/kord/common/entity/Snowflake; + public final fun getReactionEmojiName ()Ljava/lang/String; + public fun getReason ()Ljava/lang/String; + public final fun setModerated (Ljava/lang/Boolean;)V + public final fun setName (Ljava/lang/String;)V + public final fun setReactionEmojiId (Ldev/kord/common/entity/Snowflake;)V + public final fun setReactionEmojiName (Ljava/lang/String;)V + public fun setReason (Ljava/lang/String;)V + public fun toRequest ()Ldev/kord/rest/json/request/ForumTagRequest; + public synthetic fun toRequest ()Ljava/lang/Object; +} + public final class dev/kord/rest/builder/channel/NewsChannelCreateBuilder : dev/kord/rest/builder/AuditRequestBuilder, dev/kord/rest/builder/channel/PermissionOverwritesCreateBuilder { public fun (Ljava/lang/String;)V public fun addOverwrite (Ldev/kord/common/entity/Overwrite;)V @@ -567,6 +683,7 @@ public final class dev/kord/rest/builder/channel/TextChannelCreateBuilder : dev/ public fun (Ljava/lang/String;)V public fun addOverwrite (Ldev/kord/common/entity/Overwrite;)V public final fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public final fun getDefaultThreadRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; public final fun getName ()Ljava/lang/String; public final fun getNsfw ()Ljava/lang/Boolean; public final fun getParentId ()Ldev/kord/common/entity/Snowflake; @@ -576,6 +693,7 @@ public final class dev/kord/rest/builder/channel/TextChannelCreateBuilder : dev/ public fun getReason ()Ljava/lang/String; public final fun getTopic ()Ljava/lang/String; public final fun setDefaultAutoArchiveDuration (Ldev/kord/common/entity/ArchiveDuration;)V + public final fun setDefaultThreadRateLimitPerUser-BwNAW2A (Lkotlin/time/Duration;)V public final fun setName (Ljava/lang/String;)V public final fun setNsfw (Ljava/lang/Boolean;)V public final fun setParentId (Ldev/kord/common/entity/Snowflake;)V @@ -592,6 +710,7 @@ public final class dev/kord/rest/builder/channel/TextChannelModifyBuilder : dev/ public fun ()V public fun addOverwrite (Ldev/kord/common/entity/Overwrite;)V public final fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public final fun getDefaultThreadRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; public final fun getName ()Ljava/lang/String; public final fun getNsfw ()Ljava/lang/Boolean; public final fun getParentId ()Ldev/kord/common/entity/Snowflake; @@ -601,6 +720,7 @@ public final class dev/kord/rest/builder/channel/TextChannelModifyBuilder : dev/ public fun getReason ()Ljava/lang/String; public final fun getTopic ()Ljava/lang/String; public final fun setDefaultAutoArchiveDuration (Ldev/kord/common/entity/ArchiveDuration;)V + public final fun setDefaultThreadRateLimitPerUser-BwNAW2A (Lkotlin/time/Duration;)V public final fun setName (Ljava/lang/String;)V public final fun setNsfw (Ljava/lang/Boolean;)V public final fun setParentId (Ldev/kord/common/entity/Snowflake;)V @@ -665,35 +785,85 @@ public final class dev/kord/rest/builder/channel/VoiceChannelModifyBuilder : dev public synthetic fun toRequest ()Ljava/lang/Object; } -public final class dev/kord/rest/builder/channel/thread/StartThreadBuilder : dev/kord/rest/builder/AuditRequestBuilder { - public fun (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ldev/kord/common/entity/ChannelType;)V +public final class dev/kord/rest/builder/channel/thread/ForumThreadModifyBuilder : dev/kord/rest/builder/AuditRequestBuilder { + public fun ()V + public final fun getAppliedTags ()Ljava/util/List; + public final fun getArchived ()Ljava/lang/Boolean; public final fun getAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public final fun getFlags ()Ldev/kord/common/entity/ChannelFlags; public final fun getInvitable ()Ljava/lang/Boolean; + public final fun getLocked ()Ljava/lang/Boolean; public final fun getName ()Ljava/lang/String; + public final fun getRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; public fun getReason ()Ljava/lang/String; - public final fun getType ()Ldev/kord/common/entity/ChannelType; + public final fun setAppliedTags (Ljava/util/List;)V + public final fun setArchived (Ljava/lang/Boolean;)V public final fun setAutoArchiveDuration (Ldev/kord/common/entity/ArchiveDuration;)V + public final fun setFlags (Ldev/kord/common/entity/ChannelFlags;)V public final fun setInvitable (Ljava/lang/Boolean;)V + public final fun setLocked (Ljava/lang/Boolean;)V public final fun setName (Ljava/lang/String;)V + public final fun setRateLimitPerUser-BwNAW2A (Lkotlin/time/Duration;)V + public fun setReason (Ljava/lang/String;)V + public fun toRequest ()Ldev/kord/rest/json/request/ChannelModifyPatchRequest; + public synthetic fun toRequest ()Ljava/lang/Object; +} + +public final class dev/kord/rest/builder/channel/thread/StartForumThreadBuilder : dev/kord/rest/builder/AuditRequestBuilder { + public fun (Ljava/lang/String;)V + public final fun createMessage (Ljava/lang/String;)V + public final fun createMessage (Lkotlin/jvm/functions/Function1;)V + public final fun getAppliedTags ()Ljava/util/List; + public final fun getAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public final fun getMessage ()Ldev/kord/rest/builder/message/create/ForumMessageCreateBuilder; + public final fun getName ()Ljava/lang/String; + public final fun getRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; + public fun getReason ()Ljava/lang/String; + public final fun setAppliedTags (Ljava/util/List;)V + public final fun setAutoArchiveDuration (Ldev/kord/common/entity/ArchiveDuration;)V + public final fun setMessage (Ldev/kord/rest/builder/message/create/ForumMessageCreateBuilder;)V + public final fun setName (Ljava/lang/String;)V + public final fun setRateLimitPerUser-BwNAW2A (Lkotlin/time/Duration;)V + public fun setReason (Ljava/lang/String;)V + public fun toRequest ()Ldev/kord/rest/json/request/MultipartStartThreadRequest; + public synthetic fun toRequest ()Ljava/lang/Object; +} + +public class dev/kord/rest/builder/channel/thread/StartThreadWithMessageBuilder : dev/kord/rest/builder/AuditRequestBuilder { + public fun (Ljava/lang/String;)V + public final fun getAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public final fun getName ()Ljava/lang/String; + public final fun getRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; + public fun getReason ()Ljava/lang/String; + public final fun setAutoArchiveDuration (Ldev/kord/common/entity/ArchiveDuration;)V + public final fun setName (Ljava/lang/String;)V + public final fun setRateLimitPerUser-BwNAW2A (Lkotlin/time/Duration;)V public fun setReason (Ljava/lang/String;)V public fun toRequest ()Ldev/kord/rest/json/request/StartThreadRequest; public synthetic fun toRequest ()Ljava/lang/Object; } -public final class dev/kord/rest/builder/channel/thread/StartThreadWithMessageBuilder : dev/kord/rest/builder/AuditRequestBuilder { - public fun (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;)V +public final class dev/kord/rest/builder/channel/thread/StartThreadWithoutMessageBuilder : dev/kord/rest/builder/AuditRequestBuilder { + public fun (Ljava/lang/String;)V public final fun getAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public final fun getInvitable ()Ljava/lang/Boolean; public final fun getName ()Ljava/lang/String; + public final fun getRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; public fun getReason ()Ljava/lang/String; + public final fun getType ()Ldev/kord/common/entity/ChannelType; public final fun setAutoArchiveDuration (Ldev/kord/common/entity/ArchiveDuration;)V + public final fun setInvitable (Ljava/lang/Boolean;)V public final fun setName (Ljava/lang/String;)V + public final fun setRateLimitPerUser-BwNAW2A (Lkotlin/time/Duration;)V public fun setReason (Ljava/lang/String;)V + public final fun setType (Ldev/kord/common/entity/ChannelType;)V public fun toRequest ()Ldev/kord/rest/json/request/StartThreadRequest; public synthetic fun toRequest ()Ljava/lang/Object; } public final class dev/kord/rest/builder/channel/thread/ThreadModifyBuilder : dev/kord/rest/builder/AuditRequestBuilder { public fun ()V + public final fun getAppliedTags ()Ljava/util/List; public final fun getArchived ()Ljava/lang/Boolean; public final fun getAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; public final fun getInvitable ()Ljava/lang/Boolean; @@ -701,6 +871,7 @@ public final class dev/kord/rest/builder/channel/thread/ThreadModifyBuilder : de public final fun getName ()Ljava/lang/String; public final fun getRateLimitPerUser-FghU774 ()Lkotlin/time/Duration; public fun getReason ()Ljava/lang/String; + public final fun setAppliedTags (Ljava/util/List;)V public final fun setArchived (Ljava/lang/Boolean;)V public final fun setAutoArchiveDuration (Ldev/kord/common/entity/ArchiveDuration;)V public final fun setInvitable (Ljava/lang/Boolean;)V @@ -901,6 +1072,8 @@ public final class dev/kord/rest/builder/guild/GuildCreateBuilder : dev/kord/res public final fun category (Ljava/lang/String;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;)Ldev/kord/common/entity/Snowflake; public static synthetic fun category$default (Ldev/kord/rest/builder/guild/GuildCreateBuilder;Ljava/lang/String;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/kord/common/entity/Snowflake; public final fun everyoneRole (Lkotlin/jvm/functions/Function1;)V + public final fun forumChannel (Ljava/lang/String;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;)Ldev/kord/common/entity/Snowflake; + public static synthetic fun forumChannel$default (Ldev/kord/rest/builder/guild/GuildCreateBuilder;Ljava/lang/String;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/kord/common/entity/Snowflake; public final fun getAfkChannelId ()Ldev/kord/common/entity/Snowflake; public final fun getAfkTimeout-FghU774 ()Lkotlin/time/Duration; public final fun getChannels ()Ljava/util/List; @@ -1795,6 +1968,31 @@ public final class dev/kord/rest/builder/message/create/FollowupMessageCreateBui public synthetic fun toRequest ()Ljava/lang/Object; } +public final class dev/kord/rest/builder/message/create/ForumMessageCreateBuilder : dev/kord/rest/builder/RequestBuilder, dev/kord/rest/builder/message/create/MessageCreateBuilder { + public fun ()V + public fun addFile (Ljava/lang/String;Lio/ktor/client/request/forms/ChannelProvider;)Ldev/kord/rest/NamedFile; + public fun addFile (Ljava/lang/String;Ljava/io/InputStream;)Ldev/kord/rest/NamedFile; + public fun addFile (Ljava/nio/file/Path;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getAllowedMentions ()Ldev/kord/rest/builder/message/AllowedMentionsBuilder; + public fun getComponents ()Ljava/util/List; + public fun getContent ()Ljava/lang/String; + public fun getEmbeds ()Ljava/util/List; + public fun getFiles ()Ljava/util/List; + public fun getFlags ()Ldev/kord/common/entity/MessageFlags; + public final fun getStickerIds ()Ljava/util/List; + public fun getSuppressEmbeds ()Ljava/lang/Boolean; + public fun getSuppressNotifications ()Ljava/lang/Boolean; + public fun getTts ()Ljava/lang/Boolean; + public fun setAllowedMentions (Ldev/kord/rest/builder/message/AllowedMentionsBuilder;)V + public fun setContent (Ljava/lang/String;)V + public fun setFlags (Ldev/kord/common/entity/MessageFlags;)V + public fun setSuppressEmbeds (Ljava/lang/Boolean;)V + public fun setSuppressNotifications (Ljava/lang/Boolean;)V + public fun setTts (Ljava/lang/Boolean;)V + public fun toRequest ()Ldev/kord/rest/json/request/MultipartForumThreadMessageCreateRequest; + public synthetic fun toRequest ()Ljava/lang/Object; +} + public final class dev/kord/rest/builder/message/create/InteractionResponseCreateBuilder : dev/kord/rest/builder/RequestBuilder, dev/kord/rest/builder/message/create/MessageCreateBuilder { public fun ()V public fun (Z)V @@ -1928,6 +2126,7 @@ public final class dev/kord/rest/builder/message/create/WebhookMessageCreateBuil public fun getFlags ()Ldev/kord/common/entity/MessageFlags; public fun getSuppressEmbeds ()Ljava/lang/Boolean; public fun getSuppressNotifications ()Ljava/lang/Boolean; + public final fun getThreadName ()Ljava/lang/String; public fun getTts ()Ljava/lang/Boolean; public final fun getUsername ()Ljava/lang/String; public fun setAllowedMentions (Ldev/kord/rest/builder/message/AllowedMentionsBuilder;)V @@ -1936,6 +2135,7 @@ public final class dev/kord/rest/builder/message/create/WebhookMessageCreateBuil public fun setFlags (Ldev/kord/common/entity/MessageFlags;)V public fun setSuppressEmbeds (Ljava/lang/Boolean;)V public fun setSuppressNotifications (Ljava/lang/Boolean;)V + public final fun setThreadName (Ljava/lang/String;)V public fun setTts (Ljava/lang/Boolean;)V public final fun setUsername (Ljava/lang/String;)V public fun toRequest ()Ldev/kord/rest/json/request/MultiPartWebhookExecuteRequest; @@ -2285,6 +2485,7 @@ public final class dev/kord/rest/json/JsonErrorCode : java/lang/Enum { public static final field CannotSelfRedeemGift Ldev/kord/rest/json/JsonErrorCode; public static final field CannotSendEmptyMessage Ldev/kord/rest/json/JsonErrorCode; public static final field CannotSendExplicitContent Ldev/kord/rest/json/JsonErrorCode; + public static final field CannotSendMessageInForumChannel Ldev/kord/rest/json/JsonErrorCode; public static final field CannotSendMessagesInNonTextChannel Ldev/kord/rest/json/JsonErrorCode; public static final field CannotSendMessagesToUser Ldev/kord/rest/json/JsonErrorCode; public static final field CannotUpdateFinishedEvent Ldev/kord/rest/json/JsonErrorCode; @@ -2347,6 +2548,7 @@ public final class dev/kord/rest/json/JsonErrorCode : java/lang/Enum { public static final field MaxLottieAnimationDimensions Ldev/kord/rest/json/JsonErrorCode; public static final field MaxNonMemberBans Ldev/kord/rest/json/JsonErrorCode; public static final field MaxOldMessageEdits Ldev/kord/rest/json/JsonErrorCode; + public static final field MaxPinnedThreadsInForumChannel Ldev/kord/rest/json/JsonErrorCode; public static final field MaxPins Ldev/kord/rest/json/JsonErrorCode; public static final field MaxPremiumEmojis Ldev/kord/rest/json/JsonErrorCode; public static final field MaxPruneRequests Ldev/kord/rest/json/JsonErrorCode; @@ -2358,6 +2560,7 @@ public final class dev/kord/rest/json/JsonErrorCode : java/lang/Enum { public static final field MaxStickerFrameCount Ldev/kord/rest/json/JsonErrorCode; public static final field MaxStickerFrameRate Ldev/kord/rest/json/JsonErrorCode; public static final field MaxStickers Ldev/kord/rest/json/JsonErrorCode; + public static final field MaxTagsInForumChannel Ldev/kord/rest/json/JsonErrorCode; public static final field MaxThreadParticipants Ldev/kord/rest/json/JsonErrorCode; public static final field MaxUncompletedGuildScheduledEvents Ldev/kord/rest/json/JsonErrorCode; public static final field MaxWebhooks Ldev/kord/rest/json/JsonErrorCode; @@ -2366,6 +2569,7 @@ public final class dev/kord/rest/json/JsonErrorCode : java/lang/Enum { public static final field MessageBlockedByHarmfulLinksFilter Ldev/kord/rest/json/JsonErrorCode; public static final field MissingAccess Ldev/kord/rest/json/JsonErrorCode; public static final field MissingOAuthScope Ldev/kord/rest/json/JsonErrorCode; + public static final field NoSettableTagsAvailable Ldev/kord/rest/json/JsonErrorCode; public static final field NoUsersWithDiscordTag Ldev/kord/rest/json/JsonErrorCode; public static final field NonBotEndpoint Ldev/kord/rest/json/JsonErrorCode; public static final field NonBotGuildInviteAccepted Ldev/kord/rest/json/JsonErrorCode; @@ -2389,6 +2593,8 @@ public final class dev/kord/rest/json/JsonErrorCode : java/lang/Enum { public static final field SlowModeRateLimit Ldev/kord/rest/json/JsonErrorCode; public static final field StageAlreadyOpen Ldev/kord/rest/json/JsonErrorCode; public static final field StickerPermissionLack Ldev/kord/rest/json/JsonErrorCode; + public static final field TagNamesMustBeUnique Ldev/kord/rest/json/JsonErrorCode; + public static final field TagRequired Ldev/kord/rest/json/JsonErrorCode; public static final field TemporarilyDisabled Ldev/kord/rest/json/JsonErrorCode; public static final field TheadLocked Ldev/kord/rest/json/JsonErrorCode; public static final field TitleBlockedByAutomaticModeration Ldev/kord/rest/json/JsonErrorCode; @@ -2434,6 +2640,7 @@ public final class dev/kord/rest/json/JsonErrorCode : java/lang/Enum { public static final field UnknownStoreDirectoryLayout Ldev/kord/rest/json/JsonErrorCode; public static final field UnknownStoreListing Ldev/kord/rest/json/JsonErrorCode; public static final field UnknownStream Ldev/kord/rest/json/JsonErrorCode; + public static final field UnknownTag Ldev/kord/rest/json/JsonErrorCode; public static final field UnknownToken Ldev/kord/rest/json/JsonErrorCode; public static final field UnknownUpload Ldev/kord/rest/json/JsonErrorCode; public static final field UnknownUser Ldev/kord/rest/json/JsonErrorCode; @@ -2443,6 +2650,10 @@ public final class dev/kord/rest/json/JsonErrorCode : java/lang/Enum { public static final field UserBannedFromGuild Ldev/kord/rest/json/JsonErrorCode; public static final field UserNotInVoice Ldev/kord/rest/json/JsonErrorCode; public static final field VerifyAccount Ldev/kord/rest/json/JsonErrorCode; + public static final field WebhookCannotHaveThreadNameAndThreadId Ldev/kord/rest/json/JsonErrorCode; + public static final field WebhookMissingThreadNameOrThreadId Ldev/kord/rest/json/JsonErrorCode; + public static final field WebhookServicesCannotBeUsedInForumChannels Ldev/kord/rest/json/JsonErrorCode; + public static final field WebhooksCanOnlyCreateThreadsInForumChannels Ldev/kord/rest/json/JsonErrorCode; public static final field WrongChannelType Ldev/kord/rest/json/JsonErrorCode; public final fun getCode ()I public static fun valueOf (Ljava/lang/String;)Ldev/kord/rest/json/JsonErrorCode; @@ -2748,9 +2959,9 @@ public final class dev/kord/rest/json/request/ChannelFollowRequest$Companion { public final class dev/kord/rest/json/request/ChannelModifyPatchRequest { public static final field Companion Ldev/kord/rest/json/request/ChannelModifyPatchRequest$Companion; public fun ()V - public synthetic fun (ILdev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILdev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/optional/Optional; public final fun component10 ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun component11 ()Ldev/kord/common/entity/optional/Optional; @@ -2759,7 +2970,14 @@ public final class dev/kord/rest/json/request/ChannelModifyPatchRequest { public final fun component14 ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun component15 ()Ldev/kord/common/entity/optional/Optional; public final fun component16 ()Ldev/kord/common/entity/optional/Optional; + public final fun component17 ()Ldev/kord/common/entity/optional/Optional; + public final fun component18 ()Ldev/kord/common/entity/optional/Optional; + public final fun component19 ()Ldev/kord/common/entity/optional/Optional; public final fun component2 ()Ldev/kord/common/entity/optional/OptionalInt; + public final fun component20 ()Ldev/kord/common/entity/optional/Optional; + public final fun component21 ()Ldev/kord/common/entity/optional/Optional; + public final fun component22 ()Ldev/kord/common/entity/optional/Optional; + public final fun component23 ()Ldev/kord/common/entity/optional/Optional; public final fun component3 ()Ldev/kord/common/entity/optional/Optional; public final fun component4 ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun component5 ()Ldev/kord/common/entity/optional/Optional; @@ -2767,13 +2985,20 @@ public final class dev/kord/rest/json/request/ChannelModifyPatchRequest { public final fun component7 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component8 ()Ldev/kord/common/entity/optional/Optional; public final fun component9 ()Ldev/kord/common/entity/optional/OptionalSnowflake; - public final fun copy (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/rest/json/request/ChannelModifyPatchRequest; - public static synthetic fun copy$default (Ldev/kord/rest/json/request/ChannelModifyPatchRequest;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/rest/json/request/ChannelModifyPatchRequest; + public final fun copy (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/rest/json/request/ChannelModifyPatchRequest; + public static synthetic fun copy$default (Ldev/kord/rest/json/request/ChannelModifyPatchRequest;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/rest/json/request/ChannelModifyPatchRequest; public fun equals (Ljava/lang/Object;)Z + public final fun getAppliedTags ()Ldev/kord/common/entity/optional/Optional; public final fun getArchived ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun getAutoArchiveDuration ()Ldev/kord/common/entity/optional/Optional; + public final fun getAvailableTags ()Ldev/kord/common/entity/optional/Optional; public final fun getBitrate ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultForumLayout ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultReactionEmoji ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultSortOrder ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultThreadRateLimitPerUser ()Ldev/kord/common/entity/optional/Optional; + public final fun getFlags ()Ldev/kord/common/entity/optional/Optional; public final fun getInvitable ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun getLocked ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun getName ()Ldev/kord/common/entity/optional/Optional; @@ -3411,6 +3636,84 @@ public final class dev/kord/rest/json/request/FollowupMessageModifyRequest$Compa public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/kord/rest/json/request/ForumTagRequest { + public static final field Companion Ldev/kord/rest/json/request/ForumTagRequest$Companion; + public fun ()V + public synthetic fun (ILdev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/kord/common/entity/optional/Optional; + public final fun component2 ()Ldev/kord/common/entity/optional/OptionalBoolean; + public final fun component3 ()Ldev/kord/common/entity/optional/Optional; + public final fun component4 ()Ldev/kord/common/entity/optional/Optional; + public final fun copy (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/rest/json/request/ForumTagRequest; + public static synthetic fun copy$default (Ldev/kord/rest/json/request/ForumTagRequest;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/rest/json/request/ForumTagRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getEmojiId ()Ldev/kord/common/entity/optional/Optional; + public final fun getEmojiName ()Ldev/kord/common/entity/optional/Optional; + public final fun getModerated ()Ldev/kord/common/entity/optional/OptionalBoolean; + public final fun getName ()Ldev/kord/common/entity/optional/Optional; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; + public static final fun write$Self (Ldev/kord/rest/json/request/ForumTagRequest;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V +} + +public final class dev/kord/rest/json/request/ForumTagRequest$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/kord/rest/json/request/ForumTagRequest$$serializer; + public fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/kord/rest/json/request/ForumTagRequest; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/kord/rest/json/request/ForumTagRequest;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/kord/rest/json/request/ForumTagRequest$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/kord/rest/json/request/ForumThreadMessageRequest { + public static final field Companion Ldev/kord/rest/json/request/ForumThreadMessageRequest$Companion; + public fun ()V + public synthetic fun (ILdev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/kord/common/entity/optional/Optional; + public final fun component2 ()Ldev/kord/common/entity/optional/Optional; + public final fun component3 ()Ldev/kord/common/entity/optional/Optional; + public final fun component4 ()Ldev/kord/common/entity/optional/Optional; + public final fun component5 ()Ldev/kord/common/entity/optional/Optional; + public final fun component6 ()Ldev/kord/common/entity/optional/Optional; + public final fun copy (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/rest/json/request/ForumThreadMessageRequest; + public static synthetic fun copy$default (Ldev/kord/rest/json/request/ForumThreadMessageRequest;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/rest/json/request/ForumThreadMessageRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getAllowedMentions ()Ldev/kord/common/entity/optional/Optional; + public final fun getComponents ()Ldev/kord/common/entity/optional/Optional; + public final fun getContent ()Ldev/kord/common/entity/optional/Optional; + public final fun getEmbeds ()Ldev/kord/common/entity/optional/Optional; + public final fun getFlags ()Ldev/kord/common/entity/optional/Optional; + public final fun getStickerIds ()Ldev/kord/common/entity/optional/Optional; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; + public static final fun write$Self (Ldev/kord/rest/json/request/ForumThreadMessageRequest;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V +} + +public final class dev/kord/rest/json/request/ForumThreadMessageRequest$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/kord/rest/json/request/ForumThreadMessageRequest$$serializer; + public fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/kord/rest/json/request/ForumThreadMessageRequest; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/kord/rest/json/request/ForumThreadMessageRequest;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/kord/rest/json/request/ForumThreadMessageRequest$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/kord/rest/json/request/GroupDMCreateRequest { public static final field Companion Ldev/kord/rest/json/request/GroupDMCreateRequest$Companion; public synthetic fun (ILjava/util/List;Ljava/util/Map;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V @@ -3481,13 +3784,19 @@ public final class dev/kord/rest/json/request/GuildBanCreateRequest$Companion { public final class dev/kord/rest/json/request/GuildChannelCreateRequest { public static final field Companion Ldev/kord/rest/json/request/GuildChannelCreateRequest$Companion; - public synthetic fun (ILjava/lang/String;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ljava/lang/String;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ljava/lang/String;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILjava/lang/String;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ljava/lang/String;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ljava/lang/String;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component10 ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun component11 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component12 ()Ldev/kord/common/entity/optional/Optional; + public final fun component13 ()Ldev/kord/common/entity/optional/Optional; + public final fun component14 ()Ldev/kord/common/entity/optional/Optional; + public final fun component15 ()Ldev/kord/common/entity/optional/Optional; + public final fun component16 ()Ldev/kord/common/entity/optional/Optional; + public final fun component17 ()Ldev/kord/common/entity/optional/Optional; + public final fun component18 ()Ldev/kord/common/entity/optional/Optional; public final fun component2 ()Ldev/kord/common/entity/ChannelType; public final fun component3 ()Ldev/kord/common/entity/optional/Optional; public final fun component4 ()Ldev/kord/common/entity/optional/OptionalInt; @@ -3496,11 +3805,17 @@ public final class dev/kord/rest/json/request/GuildChannelCreateRequest { public final fun component7 ()Ldev/kord/common/entity/optional/OptionalInt; public final fun component8 ()Ldev/kord/common/entity/optional/Optional; public final fun component9 ()Ldev/kord/common/entity/optional/OptionalSnowflake; - public final fun copy (Ljava/lang/String;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/rest/json/request/GuildChannelCreateRequest; - public static synthetic fun copy$default (Ldev/kord/rest/json/request/GuildChannelCreateRequest;Ljava/lang/String;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/rest/json/request/GuildChannelCreateRequest; + public final fun copy (Ljava/lang/String;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/rest/json/request/GuildChannelCreateRequest; + public static synthetic fun copy$default (Ldev/kord/rest/json/request/GuildChannelCreateRequest;Ljava/lang/String;Ldev/kord/common/entity/ChannelType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalInt;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/rest/json/request/GuildChannelCreateRequest; public fun equals (Ljava/lang/Object;)Z + public final fun getAvailableTags ()Ldev/kord/common/entity/optional/Optional; public final fun getBitrate ()Ldev/kord/common/entity/optional/OptionalInt; public final fun getDefaultAutoArchiveDuration ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultForumLayout ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultReactionEmoji ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultSortOrder ()Ldev/kord/common/entity/optional/Optional; + public final fun getDefaultThreadRateLimitPerUser ()Ldev/kord/common/entity/optional/Optional; + public final fun getFlags ()Ldev/kord/common/entity/optional/Optional; public final fun getId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun getName ()Ljava/lang/String; public final fun getNsfw ()Ldev/kord/common/entity/optional/OptionalBoolean; @@ -4597,6 +4912,20 @@ public final class dev/kord/rest/json/request/MultipartFollowupMessageModifyRequ public fun toString ()Ljava/lang/String; } +public final class dev/kord/rest/json/request/MultipartForumThreadMessageCreateRequest { + public fun (Ldev/kord/rest/json/request/ForumThreadMessageRequest;Ljava/util/List;)V + public synthetic fun (Ldev/kord/rest/json/request/ForumThreadMessageRequest;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/kord/rest/json/request/ForumThreadMessageRequest; + public final fun component2 ()Ljava/util/List; + public final fun copy (Ldev/kord/rest/json/request/ForumThreadMessageRequest;Ljava/util/List;)Ldev/kord/rest/json/request/MultipartForumThreadMessageCreateRequest; + public static synthetic fun copy$default (Ldev/kord/rest/json/request/MultipartForumThreadMessageCreateRequest;Ldev/kord/rest/json/request/ForumThreadMessageRequest;Ljava/util/List;ILjava/lang/Object;)Ldev/kord/rest/json/request/MultipartForumThreadMessageCreateRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getFiles ()Ljava/util/List; + public final fun getRequest ()Ldev/kord/rest/json/request/ForumThreadMessageRequest; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + public final class dev/kord/rest/json/request/MultipartGuildStickerCreateRequest { public fun (Ldev/kord/rest/json/request/GuildStickerCreateRequest;Ldev/kord/rest/NamedFile;)V public final fun component1 ()Ldev/kord/rest/json/request/GuildStickerCreateRequest; @@ -4666,6 +4995,20 @@ public final class dev/kord/rest/json/request/MultipartMessagePatchRequest { public fun toString ()Ljava/lang/String; } +public final class dev/kord/rest/json/request/MultipartStartThreadRequest { + public fun (Ldev/kord/rest/json/request/StartThreadRequest;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/rest/json/request/StartThreadRequest;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/kord/rest/json/request/StartThreadRequest; + public final fun component2 ()Ldev/kord/common/entity/optional/Optional; + public final fun copy (Ldev/kord/rest/json/request/StartThreadRequest;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/rest/json/request/MultipartStartThreadRequest; + public static synthetic fun copy$default (Ldev/kord/rest/json/request/MultipartStartThreadRequest;Ldev/kord/rest/json/request/StartThreadRequest;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/rest/json/request/MultipartStartThreadRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getFiles ()Ldev/kord/common/entity/optional/Optional; + public final fun getRequest ()Ldev/kord/rest/json/request/StartThreadRequest; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + public final class dev/kord/rest/json/request/MultipartWebhookEditMessageRequest { public fun (Ldev/kord/rest/json/request/WebhookEditMessageRequest;Ldev/kord/common/entity/optional/Optional;)V public synthetic fun (Ldev/kord/rest/json/request/WebhookEditMessageRequest;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -4800,19 +5143,25 @@ public final class dev/kord/rest/json/request/StageInstanceModifyRequest$Compani public final class dev/kord/rest/json/request/StartThreadRequest { public static final field Companion Ldev/kord/rest/json/request/StartThreadRequest$Companion; - public synthetic fun (ILjava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;)V - public synthetic fun (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILjava/lang/String;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ljava/lang/String;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ljava/lang/String;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; - public final fun component2 ()Ldev/kord/common/entity/ArchiveDuration; + public final fun component2 ()Ldev/kord/common/entity/optional/Optional; public final fun component3 ()Ldev/kord/common/entity/optional/Optional; public final fun component4 ()Ldev/kord/common/entity/optional/OptionalBoolean; - public final fun copy (Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;)Ldev/kord/rest/json/request/StartThreadRequest; - public static synthetic fun copy$default (Ldev/kord/rest/json/request/StartThreadRequest;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;ILjava/lang/Object;)Ldev/kord/rest/json/request/StartThreadRequest; + public final fun component5 ()Ldev/kord/common/entity/optional/Optional; + public final fun component6 ()Ldev/kord/common/entity/optional/Optional; + public final fun component7 ()Ldev/kord/common/entity/optional/Optional; + public final fun copy (Ljava/lang/String;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/rest/json/request/StartThreadRequest; + public static synthetic fun copy$default (Ldev/kord/rest/json/request/StartThreadRequest;Ljava/lang/String;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/rest/json/request/StartThreadRequest; public fun equals (Ljava/lang/Object;)Z - public final fun getAutoArchiveDuration ()Ldev/kord/common/entity/ArchiveDuration; + public final fun getAppliedTags ()Ldev/kord/common/entity/optional/Optional; + public final fun getAutoArchiveDuration ()Ldev/kord/common/entity/optional/Optional; public final fun getInvitable ()Ldev/kord/common/entity/optional/OptionalBoolean; + public final fun getMessage ()Ldev/kord/common/entity/optional/Optional; public final fun getName ()Ljava/lang/String; + public final fun getRateLimitPerUser ()Ldev/kord/common/entity/optional/Optional; public final fun getType ()Ldev/kord/common/entity/optional/Optional; public fun hashCode ()I public fun toString ()Ljava/lang/String; @@ -4973,9 +5322,9 @@ public final class dev/kord/rest/json/request/WebhookEditMessageRequest$Companio public final class dev/kord/rest/json/request/WebhookExecuteRequest { public static final field Companion Ldev/kord/rest/json/request/WebhookExecuteRequest$Companion; public fun ()V - public synthetic fun (ILdev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILdev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/optional/Optional; public final fun component2 ()Ldev/kord/common/entity/optional/Optional; public final fun component3 ()Ldev/kord/common/entity/optional/Optional; @@ -4984,8 +5333,9 @@ public final class dev/kord/rest/json/request/WebhookExecuteRequest { public final fun component6 ()Ldev/kord/common/entity/optional/Optional; public final fun component7 ()Ldev/kord/common/entity/optional/Optional; public final fun component8 ()Ldev/kord/common/entity/optional/Optional; - public final fun copy (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/rest/json/request/WebhookExecuteRequest; - public static synthetic fun copy$default (Ldev/kord/rest/json/request/WebhookExecuteRequest;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/rest/json/request/WebhookExecuteRequest; + public final fun component9 ()Ldev/kord/common/entity/optional/Optional; + public final fun copy (Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/rest/json/request/WebhookExecuteRequest; + public static synthetic fun copy$default (Ldev/kord/rest/json/request/WebhookExecuteRequest;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalBoolean;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/rest/json/request/WebhookExecuteRequest; public fun equals (Ljava/lang/Object;)Z public final fun getAllowedMentions ()Ldev/kord/common/entity/optional/Optional; public final fun getAvatar ()Ldev/kord/common/entity/optional/Optional; @@ -4993,6 +5343,7 @@ public final class dev/kord/rest/json/request/WebhookExecuteRequest { public final fun getContent ()Ldev/kord/common/entity/optional/Optional; public final fun getEmbeds ()Ldev/kord/common/entity/optional/Optional; public final fun getFlags ()Ldev/kord/common/entity/optional/Optional; + public final fun getThreadName ()Ldev/kord/common/entity/optional/Optional; public final fun getTts ()Ldev/kord/common/entity/optional/OptionalBoolean; public final fun getUsername ()Ldev/kord/common/entity/optional/Optional; public fun hashCode ()I @@ -6050,6 +6401,18 @@ public final class dev/kord/rest/route/Route$FollowupMessageModify : dev/kord/re public static final field INSTANCE Ldev/kord/rest/route/Route$FollowupMessageModify; } +public final class dev/kord/rest/route/Route$ForumTagDelete : dev/kord/rest/route/Route { + public static final field INSTANCE Ldev/kord/rest/route/Route$ForumTagDelete; +} + +public final class dev/kord/rest/route/Route$ForumTagPost : dev/kord/rest/route/Route { + public static final field INSTANCE Ldev/kord/rest/route/Route$ForumTagPost; +} + +public final class dev/kord/rest/route/Route$ForumTagPut : dev/kord/rest/route/Route { + public static final field INSTANCE Ldev/kord/rest/route/Route$ForumTagPut; +} + public final class dev/kord/rest/route/Route$GatewayBotGet : dev/kord/rest/route/Route { public static final field INSTANCE Ldev/kord/rest/route/Route$GatewayBotGet; } @@ -6570,6 +6933,10 @@ public final class dev/kord/rest/route/Route$StickerId : dev/kord/rest/route/Rou public static final field INSTANCE Ldev/kord/rest/route/Route$StickerId; } +public final class dev/kord/rest/route/Route$TagId : dev/kord/rest/route/Route$Key { + public static final field INSTANCE Ldev/kord/rest/route/Route$TagId; +} + public final class dev/kord/rest/route/Route$TemplateCode : dev/kord/rest/route/Route$Key { public static final field INSTANCE Ldev/kord/rest/route/Route$TemplateCode; } @@ -6690,6 +7057,10 @@ public final class dev/kord/rest/service/ChannelService : dev/kord/rest/service/ public final fun addUserToThread (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun bulkDelete (Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/BulkDeleteRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun bulkDelete$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/BulkDeleteRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun createForumTag (Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/ForumTagRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun createForumTag (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun createForumTag$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/ForumTagRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun createForumTag$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun createInvite (Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun createInvite$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun createMessage (Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/MultipartMessageCreateRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -6702,6 +7073,8 @@ public final class dev/kord/rest/service/ChannelService : dev/kord/rest/service/ public static synthetic fun deleteChannel$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun deleteChannelPermission (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun deleteChannelPermission$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun deleteForumTag (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun deleteForumTag$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun deleteMessage (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun deleteMessage$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun deleteOwnReaction (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -6710,6 +7083,9 @@ public final class dev/kord/rest/service/ChannelService : dev/kord/rest/service/ public final fun deleteReaction (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun editChannelPermissions (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/ChannelPermissionEditRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun editChannelPermissions$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/ChannelPermissionEditRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun editForumTag (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/ForumTagRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun editForumTag (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun editForumTag$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/ForumTagRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun editMessage (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/MessageEditPatchRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun editMessage (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/MultipartMessagePatchRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun editMessage (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/MultipartWebhookEditMessageRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -6737,8 +7113,12 @@ public final class dev/kord/rest/service/ChannelService : dev/kord/rest/service/ public static synthetic fun putChannel$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/ChannelModifyPutRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun removeFromGroup (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun removeUserFromThread (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun startForumThread (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun startForumThread$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun startThread (Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/MultipartStartThreadRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun startThread (Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/StartThreadRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun startThread (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ldev/kord/common/entity/ChannelType;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun startThread$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/MultipartStartThreadRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static synthetic fun startThread$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/StartThreadRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static synthetic fun startThread$default (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/ArchiveDuration;Ldev/kord/common/entity/ChannelType;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun startThreadWithMessage (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/rest/json/request/StartThreadRequest;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -6751,6 +7131,7 @@ public final class dev/kord/rest/service/ChannelServiceKt { public static final fun editMemberPermissions (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun editRolePermission (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun patchCategory (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun patchForumChannel (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun patchNewsChannel (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun patchStageVoiceChannel (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun patchTextChannel (Ldev/kord/rest/service/ChannelService;Ldev/kord/common/entity/Snowflake;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -6853,6 +7234,7 @@ public final class dev/kord/rest/service/GuildService : dev/kord/rest/service/Re public final class dev/kord/rest/service/GuildServiceKt { public static final fun createCategory (Ldev/kord/rest/service/GuildService;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun createForumChannel (Ldev/kord/rest/service/GuildService;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun createNewsChannel (Ldev/kord/rest/service/GuildService;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun createScheduledEvent (Ldev/kord/rest/service/GuildService;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/GuildScheduledEventPrivacyLevel;Lkotlinx/datetime/Instant;Ldev/kord/common/entity/ScheduledEntityType;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun createScheduledEvent$default (Ldev/kord/rest/service/GuildService;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;Ldev/kord/common/entity/GuildScheduledEventPrivacyLevel;Lkotlinx/datetime/Instant;Ldev/kord/common/entity/ScheduledEntityType;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; diff --git a/rest/src/main/kotlin/builder/channel/EditGuildChannelBuilder.kt b/rest/src/main/kotlin/builder/channel/EditGuildChannelBuilder.kt index 359f27ed92a5..1370e5419e0c 100644 --- a/rest/src/main/kotlin/builder/channel/EditGuildChannelBuilder.kt +++ b/rest/src/main/kotlin/builder/channel/EditGuildChannelBuilder.kt @@ -1,17 +1,15 @@ package dev.kord.rest.builder.channel import dev.kord.common.annotation.KordDsl -import dev.kord.common.entity.ArchiveDuration -import dev.kord.common.entity.Overwrite -import dev.kord.common.entity.Snowflake -import dev.kord.common.entity.VideoQualityMode -import dev.kord.common.entity.optional.Optional -import dev.kord.common.entity.optional.OptionalBoolean -import dev.kord.common.entity.optional.OptionalInt -import dev.kord.common.entity.optional.OptionalSnowflake +import dev.kord.common.entity.* +import dev.kord.common.entity.optional.* import dev.kord.common.entity.optional.delegate.delegate import dev.kord.rest.builder.AuditRequestBuilder +import dev.kord.rest.builder.RequestBuilder import dev.kord.rest.json.request.ChannelModifyPatchRequest +import dev.kord.rest.json.request.ForumTagRequest +import kotlin.contracts.InvocationKind +import kotlin.contracts.contract import kotlin.time.Duration @KordDsl @@ -48,6 +46,85 @@ public class TextChannelModifyBuilder : PermissionOverwritesModifyBuilder, */ public var defaultAutoArchiveDuration: ArchiveDuration? by ::_defaultAutoArchiveDuration.delegate() + private var _defaultThreadRateLimitPerUser: Optional = Optional.Missing() + public var defaultThreadRateLimitPerUser: Duration? by ::_defaultThreadRateLimitPerUser.delegate() + + override fun toRequest(): ChannelModifyPatchRequest = ChannelModifyPatchRequest( + name = _name, + position = _position, + topic = _topic, + nsfw = _nsfw, + rateLimitPerUser = _rateLimitPerUser, + permissionOverwrites = _permissionOverwrites, + parentId = _parentId, + defaultAutoArchiveDuration = _defaultAutoArchiveDuration, + defaultThreadRateLimitPerUser = _defaultThreadRateLimitPerUser, + ) +} + +@KordDsl +public class ForumChannelModifyBuilder : PermissionOverwritesModifyBuilder, + AuditRequestBuilder { + override var reason: String? = null + + private var _name: Optional = Optional.Missing() + public var name: String? by ::_name.delegate() + + private var _position: OptionalInt? = OptionalInt.Missing + public var position: Int? by ::_position.delegate() + + private var _topic: Optional = Optional.Missing() + public var topic: String? by ::_topic.delegate() + + private var _nsfw: OptionalBoolean? = OptionalBoolean.Missing + public var nsfw: Boolean? by ::_nsfw.delegate() + + private var _parentId: OptionalSnowflake? = OptionalSnowflake.Missing + public var parentId: Snowflake? by ::_parentId.delegate() + + private var _rateLimitPerUser: Optional = Optional.Missing() + public var rateLimitPerUser: Duration? by ::_rateLimitPerUser.delegate() + + private var _permissionOverwrites: Optional?> = Optional.Missing() + override var permissionOverwrites: MutableSet? by ::_permissionOverwrites.delegate() + + private var _defaultAutoArchiveDuration: Optional = Optional.Missing() + + /** + * The default [duration][ArchiveDuration] that the clients use (not the API) for newly created threads in the + * channel, to automatically archive the thread after recent activity. + */ + public var defaultAutoArchiveDuration: ArchiveDuration? by ::_defaultAutoArchiveDuration.delegate() + + private var _flags: Optional = Optional.Missing() + public var flags: ChannelFlags? by ::_flags.delegate() + + private var _defaultReactionEmoji: Optional = Optional.Missing() + public var defaultReactionEmoji: DiscordDefaultReaction? by ::_defaultReactionEmoji.delegate() + public var defaultReactionEmojiId: Snowflake? = null + public var defaultReactionEmojiName: String? = null + + private var _availableTags: Optional?> = Optional.Missing() + public var availableTags: MutableList? by ::_availableTags.delegate() + + public fun tag(name: String, builder: ForumTagBuilder.() -> Unit = {}) { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + + if (availableTags == null) availableTags = mutableListOf() + + val tagBuilder = ForumTagBuilder(name).apply(builder) + availableTags?.add(tagBuilder.toRequest()) + } + + private var _defaultThreadRateLimitPerUser: Optional = Optional.Missing() + public var defaultThreadRateLimitPerUser: Duration? by ::_defaultThreadRateLimitPerUser.delegate() + + private var _defaultSortOrder: Optional = Optional.Missing() + public var defaultSortOrder: SortOrderType? by ::_defaultSortOrder.delegate() + + private var _defaultForumLayout: Optional = Optional.Missing() + public var defaultForumLayout: ForumLayoutType? by ::_defaultForumLayout.delegate() + override fun toRequest(): ChannelModifyPatchRequest = ChannelModifyPatchRequest( name = _name, position = _position, @@ -57,6 +134,19 @@ public class TextChannelModifyBuilder : PermissionOverwritesModifyBuilder, permissionOverwrites = _permissionOverwrites, parentId = _parentId, defaultAutoArchiveDuration = _defaultAutoArchiveDuration, + defaultReactionEmoji = when { + defaultReactionEmojiId != null || defaultReactionEmojiName != null -> + DiscordDefaultReaction( + emojiId = defaultReactionEmojiId, + emojiName = defaultReactionEmojiName, + ).optional() + else -> _defaultReactionEmoji + }, + defaultThreadRateLimitPerUser = _defaultThreadRateLimitPerUser, + availableTags = _availableTags, + defaultSortOrder = _defaultSortOrder, + defaultForumLayout = _defaultForumLayout, + flags = _flags ) } @@ -197,3 +287,29 @@ public class NewsChannelModifyBuilder : PermissionOverwritesModifyBuilder, defaultAutoArchiveDuration = _defaultAutoArchiveDuration, ) } + +@KordDsl +public class ModifyForumTagBuilder : AuditRequestBuilder { + private var _name: Optional = Optional.Missing() + public var name: String? by ::_name.delegate() + + private var _moderated: OptionalBoolean = OptionalBoolean.Missing + public var moderated: Boolean? by ::_moderated.delegate() + + private var _reactionEmojiId: Optional = Optional.Missing() + public var reactionEmojiId: Snowflake? by ::_reactionEmojiId.delegate() + + private var _reactionEmojiName: Optional = Optional.Missing() + public var reactionEmojiName: String? by ::_reactionEmojiName.delegate() + + override var reason: String? = null + + override fun toRequest(): ForumTagRequest { + return ForumTagRequest( + name = _name, + moderated = _moderated, + emojiId = _reactionEmojiId, + emojiName = _reactionEmojiName + ) + } +} diff --git a/rest/src/main/kotlin/builder/channel/ForumChannelCreateBuilder.kt b/rest/src/main/kotlin/builder/channel/ForumChannelCreateBuilder.kt new file mode 100644 index 000000000000..cbb52e8b5d69 --- /dev/null +++ b/rest/src/main/kotlin/builder/channel/ForumChannelCreateBuilder.kt @@ -0,0 +1,122 @@ +package dev.kord.rest.builder.channel + +import dev.kord.common.annotation.KordDsl +import dev.kord.common.entity.* +import dev.kord.common.entity.optional.* +import dev.kord.common.entity.optional.delegate.delegate +import dev.kord.rest.builder.AuditRequestBuilder +import dev.kord.rest.builder.RequestBuilder +import dev.kord.rest.json.request.ForumTagRequest +import dev.kord.rest.json.request.GuildChannelCreateRequest +import kotlin.contracts.InvocationKind +import kotlin.contracts.contract +import kotlin.time.Duration + +@KordDsl +public class ForumChannelCreateBuilder(public var name: String) : + PermissionOverwritesCreateBuilder, + AuditRequestBuilder { + override var reason: String? = null + + private var _topic: Optional = Optional.Missing() + public var topic: String? by ::_topic.delegate() + + private var _rateLimitPerUser: Optional = Optional.Missing() + public var rateLimitPerUser: Duration? by ::_rateLimitPerUser.delegate() + + private var _position: OptionalInt = OptionalInt.Missing + public var position: Int? by ::_position.delegate() + + private var _parentId: OptionalSnowflake = OptionalSnowflake.Missing + public var parentId: Snowflake? by ::_parentId.delegate() + + private var _nsfw: OptionalBoolean = OptionalBoolean.Missing + public var nsfw: Boolean? by ::_nsfw.delegate() + + private var _defaultAutoArchiveDuration: Optional = Optional.Missing() + + /** + * The default [duration][ArchiveDuration] that the clients use (not the API) for newly created threads in the + * channel, to automatically archive the thread after recent activity. + */ + public var defaultAutoArchiveDuration: ArchiveDuration? by ::_defaultAutoArchiveDuration.delegate() + + override var permissionOverwrites: MutableSet = mutableSetOf() + + private var _defaultReactionEmoji: Optional = Optional.Missing() + public var defaultReactionEmoji: DiscordDefaultReaction? by ::_defaultReactionEmoji.delegate() + public var defaultReactionEmojiId: Snowflake? = null + public var defaultReactionEmojiName: String? = null + + private var _availableTags: Optional?> = Optional.Missing() + public var availableTags: MutableList? by ::_availableTags.delegate() + + public fun tag(name: String, builder: ForumTagBuilder.() -> Unit = {}) { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + + if (availableTags == null) availableTags = mutableListOf() + + val tagBuilder = ForumTagBuilder(name).apply(builder) + availableTags?.add(tagBuilder.toRequest()) + } + + private var _defaultThreadRateLimitPerUser: Optional = Optional.Missing() + public var defaultThreadRateLimitPerUser: Duration? by ::_defaultThreadRateLimitPerUser.delegate() + + private var _defaultSortOrder: Optional = Optional.Missing() + public var defaultSortOrder: SortOrderType? by ::_defaultSortOrder.delegate() + + private var _defaultForumLayout: Optional = Optional.Missing() + public var defaultForumLayout: ForumLayoutType? by ::_defaultForumLayout.delegate() + + private var _flags: Optional = Optional.Missing() + public var flags: ChannelFlags? by ::_flags.delegate() + + override fun toRequest(): GuildChannelCreateRequest = GuildChannelCreateRequest( + name = name, + type = ChannelType.GuildForum, + topic = _topic, + rateLimitPerUser = _rateLimitPerUser, + position = _position, + parentId = _parentId, + nsfw = _nsfw, + permissionOverwrite = Optional.missingOnEmpty(permissionOverwrites), + defaultAutoArchiveDuration = _defaultAutoArchiveDuration, + defaultReactionEmoji = when { + defaultReactionEmojiId != null || defaultReactionEmojiName != null -> + DiscordDefaultReaction( + emojiId = defaultReactionEmojiId, + emojiName = defaultReactionEmojiName, + ).optional() + else -> _defaultReactionEmoji + }, + defaultThreadRateLimitPerUser = _defaultThreadRateLimitPerUser, + availableTags = _availableTags, + defaultSortOrder = _defaultSortOrder, + flags = _flags, + defaultForumLayout = _defaultForumLayout, + ) +} + +@KordDsl +public class ForumTagBuilder(private val name: String) : AuditRequestBuilder { + private var _moderated: OptionalBoolean = OptionalBoolean.Missing + public var moderated: Boolean? by ::_moderated.delegate() + + private var _reactionEmojiId: Optional = Optional.Missing() + public var reactionEmojiId: Snowflake? by ::_reactionEmojiId.delegate() + + private var _reactionEmojiName: Optional = Optional.Missing() + public var reactionEmojiName: String? by ::_reactionEmojiName.delegate() + + override var reason: String? = null + + override fun toRequest(): ForumTagRequest { + return ForumTagRequest( + name = Optional(name), + moderated = _moderated, + emojiId = _reactionEmojiId, + emojiName = _reactionEmojiName + ) + } +} \ No newline at end of file diff --git a/rest/src/main/kotlin/builder/channel/TextChannelCreateBuilder.kt b/rest/src/main/kotlin/builder/channel/TextChannelCreateBuilder.kt index 65239256fb7b..c42cb1439d3a 100644 --- a/rest/src/main/kotlin/builder/channel/TextChannelCreateBuilder.kt +++ b/rest/src/main/kotlin/builder/channel/TextChannelCreateBuilder.kt @@ -45,6 +45,9 @@ public class TextChannelCreateBuilder(public var name: String) : override var permissionOverwrites: MutableSet = mutableSetOf() + private var _defaultThreadRateLimitPerUser: Optional = Optional.Missing() + public var defaultThreadRateLimitPerUser: Duration? by ::_defaultThreadRateLimitPerUser.delegate() + override fun toRequest(): GuildChannelCreateRequest = GuildChannelCreateRequest( name = name, type = ChannelType.GuildText, @@ -55,5 +58,6 @@ public class TextChannelCreateBuilder(public var name: String) : nsfw = _nsfw, permissionOverwrite = Optional.missingOnEmpty(permissionOverwrites), defaultAutoArchiveDuration = _defaultAutoArchiveDuration, + defaultThreadRateLimitPerUser = _defaultThreadRateLimitPerUser ) } diff --git a/rest/src/main/kotlin/builder/channel/thread/ForumThreadModifyBuilder.kt b/rest/src/main/kotlin/builder/channel/thread/ForumThreadModifyBuilder.kt new file mode 100644 index 000000000000..3bd28fe1938a --- /dev/null +++ b/rest/src/main/kotlin/builder/channel/thread/ForumThreadModifyBuilder.kt @@ -0,0 +1,55 @@ +package dev.kord.rest.builder.channel.thread + +import dev.kord.common.annotation.KordDsl +import dev.kord.common.entity.ArchiveDuration +import dev.kord.common.entity.ChannelFlags +import dev.kord.common.entity.Snowflake +import dev.kord.common.entity.optional.Optional +import dev.kord.common.entity.optional.OptionalBoolean +import dev.kord.common.entity.optional.delegate.delegate +import dev.kord.rest.builder.AuditRequestBuilder +import dev.kord.rest.json.request.ChannelModifyPatchRequest +import kotlin.time.Duration + +@KordDsl +public class ForumThreadModifyBuilder : AuditRequestBuilder { + + private var _name: Optional = Optional.Missing() + public var name: String? by ::_name.delegate() + + private var _archived: OptionalBoolean = OptionalBoolean.Missing + public var archived: Boolean? by ::_archived.delegate() + + private var _locked: OptionalBoolean = OptionalBoolean.Missing + public var locked: Boolean? by ::_locked.delegate() + + private var _rateLimitPerUser: Optional = Optional.Missing() + public var rateLimitPerUser: Duration? by ::_rateLimitPerUser.delegate() + + private var _autoArchiveDuration: Optional = Optional.Missing() + public var autoArchiveDuration: ArchiveDuration? by ::_autoArchiveDuration.delegate() + + private var _invitable: OptionalBoolean = OptionalBoolean.Missing + public var invitable: Boolean? by ::_invitable.delegate() + + private var _flags: Optional = Optional.Missing() + public var flags: ChannelFlags? by ::_flags.delegate() + + private var _appliedTags: Optional> = Optional.Missing() + public var appliedTags: MutableList? by ::_appliedTags.delegate() + + override fun toRequest(): ChannelModifyPatchRequest { + return ChannelModifyPatchRequest( + name = _name, + locked = _locked, + archived = _archived, + autoArchiveDuration = _autoArchiveDuration, + rateLimitPerUser = _rateLimitPerUser, + invitable = _invitable, + flags = _flags, + appliedTags = _appliedTags + ) + } + + override var reason: String? = null +} \ No newline at end of file diff --git a/rest/src/main/kotlin/builder/channel/thread/StartForumThreadBuilder.kt b/rest/src/main/kotlin/builder/channel/thread/StartForumThreadBuilder.kt new file mode 100644 index 000000000000..5ca13daf8826 --- /dev/null +++ b/rest/src/main/kotlin/builder/channel/thread/StartForumThreadBuilder.kt @@ -0,0 +1,59 @@ +package dev.kord.rest.builder.channel.thread + +import dev.kord.common.annotation.KordDsl +import dev.kord.common.entity.ArchiveDuration +import dev.kord.common.entity.Snowflake +import dev.kord.common.entity.optional.Optional +import dev.kord.common.entity.optional.coerceToMissing +import dev.kord.common.entity.optional.delegate.delegate +import dev.kord.rest.builder.AuditRequestBuilder +import dev.kord.rest.builder.message.create.ForumMessageCreateBuilder +import dev.kord.rest.json.request.MultipartStartThreadRequest +import dev.kord.rest.json.request.StartThreadRequest +import kotlin.contracts.InvocationKind +import kotlin.contracts.contract +import kotlin.time.Duration + +@KordDsl +public class StartForumThreadBuilder(public var name: String) : AuditRequestBuilder { + override var reason: String? = null + + private var _autoArchiveDuration: Optional = Optional.Missing() + public var autoArchiveDuration: ArchiveDuration? by ::_autoArchiveDuration.delegate() + + private var _rateLimitPerUser: Optional = Optional.Missing() + public var rateLimitPerUser: Duration? by ::_rateLimitPerUser.delegate() + + private var _appliedTags: Optional?> = Optional.Missing() + public var appliedTags: MutableList? by ::_appliedTags.delegate() + + public var message: ForumMessageCreateBuilder? = null + + public fun createMessage(content: String) { + createMessage { + this.content = content + } + } + + public inline fun createMessage(builder: ForumMessageCreateBuilder.() -> Unit) { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + + message = ForumMessageCreateBuilder().apply(builder) + } + + override fun toRequest(): MultipartStartThreadRequest { + val messageRequest = message?.toRequest() + + return MultipartStartThreadRequest( + StartThreadRequest( + name = name, + autoArchiveDuration = _autoArchiveDuration, + rateLimitPerUser = _rateLimitPerUser, + message = Optional(messageRequest?.request).coerceToMissing(), + appliedTags = _appliedTags + ), + Optional(messageRequest?.files).coerceToMissing() + ) + } + +} diff --git a/rest/src/main/kotlin/builder/channel/thread/StartThreadBuilder.kt b/rest/src/main/kotlin/builder/channel/thread/StartThreadBuilder.kt deleted file mode 100644 index 46c55779c7ad..000000000000 --- a/rest/src/main/kotlin/builder/channel/thread/StartThreadBuilder.kt +++ /dev/null @@ -1,31 +0,0 @@ -package dev.kord.rest.builder.channel.thread - -import dev.kord.common.annotation.KordDsl -import dev.kord.common.entity.ArchiveDuration -import dev.kord.common.entity.ChannelType -import dev.kord.common.entity.optional.OptionalBoolean -import dev.kord.common.entity.optional.delegate.delegate -import dev.kord.common.entity.optional.optional -import dev.kord.rest.builder.AuditRequestBuilder -import dev.kord.rest.json.request.StartThreadRequest - -@KordDsl -public class StartThreadBuilder( - public var name: String, - public var autoArchiveDuration: ArchiveDuration, - public val type: ChannelType, -) : AuditRequestBuilder { - override var reason: String? = null - - private var _invitable: OptionalBoolean = OptionalBoolean.Missing - public var invitable: Boolean? by ::_invitable.delegate() - - override fun toRequest(): StartThreadRequest { - return StartThreadRequest( - name = name, - autoArchiveDuration = autoArchiveDuration, - type = type.optional(), // Currently this is optional, but in API v10 it will be required according to Discord's docs. - invitable = _invitable - ) - } -} diff --git a/rest/src/main/kotlin/builder/channel/thread/StartThreadWithMessageBuilder.kt b/rest/src/main/kotlin/builder/channel/thread/StartThreadWithMessageBuilder.kt index 6d06fe0f4444..420e59085c57 100644 --- a/rest/src/main/kotlin/builder/channel/thread/StartThreadWithMessageBuilder.kt +++ b/rest/src/main/kotlin/builder/channel/thread/StartThreadWithMessageBuilder.kt @@ -2,20 +2,30 @@ package dev.kord.rest.builder.channel.thread import dev.kord.common.annotation.KordDsl import dev.kord.common.entity.ArchiveDuration +import dev.kord.common.entity.optional.Optional +import dev.kord.common.entity.optional.delegate.delegate import dev.kord.rest.builder.AuditRequestBuilder import dev.kord.rest.json.request.StartThreadRequest +import kotlin.time.Duration @KordDsl -public class StartThreadWithMessageBuilder( - public var name: String, - public var autoArchiveDuration: ArchiveDuration, -) : AuditRequestBuilder { +public open class StartThreadWithMessageBuilder(public var name: String) : AuditRequestBuilder { override var reason: String? = null + private var _autoArchiveDuration: Optional = Optional.Missing() + public var autoArchiveDuration: ArchiveDuration? by ::_autoArchiveDuration.delegate() + + private var _rateLimitPerUser: Optional = Optional.Missing() + public var rateLimitPerUser: Duration? by ::_rateLimitPerUser.delegate() + override fun toRequest(): StartThreadRequest { return StartThreadRequest( name = name, - autoArchiveDuration = autoArchiveDuration + autoArchiveDuration = _autoArchiveDuration, + rateLimitPerUser = _rateLimitPerUser ) } } + +@Deprecated("Renamed to StartThreadWithMessageBuilder", replaceWith = ReplaceWith("dev.kord.rest.builder.channel.thread.StartThreadWithMessageBuilder")) +public typealias StartThreadBuilder = StartThreadWithMessageBuilder diff --git a/rest/src/main/kotlin/builder/channel/thread/StartThreadWithoutMessageBuilder.kt b/rest/src/main/kotlin/builder/channel/thread/StartThreadWithoutMessageBuilder.kt new file mode 100644 index 000000000000..73aeef18e3d0 --- /dev/null +++ b/rest/src/main/kotlin/builder/channel/thread/StartThreadWithoutMessageBuilder.kt @@ -0,0 +1,38 @@ +package dev.kord.rest.builder.channel.thread + +import dev.kord.common.annotation.KordDsl +import dev.kord.common.entity.ArchiveDuration +import dev.kord.common.entity.ChannelType +import dev.kord.common.entity.optional.Optional +import dev.kord.common.entity.optional.OptionalBoolean +import dev.kord.common.entity.optional.delegate.delegate +import dev.kord.rest.builder.AuditRequestBuilder +import dev.kord.rest.json.request.StartThreadRequest +import kotlin.time.Duration + +@KordDsl +public class StartThreadWithoutMessageBuilder(public var name: String) : AuditRequestBuilder { + override var reason: String? = null + + private var _autoArchiveDuration: Optional = Optional.Missing() + public var autoArchiveDuration: ArchiveDuration? by ::_autoArchiveDuration.delegate() + + private var _rateLimitPerUser: Optional = Optional.Missing() + public var rateLimitPerUser: Duration? by ::_rateLimitPerUser.delegate() + + private var _invitable: OptionalBoolean = OptionalBoolean.Missing + public var invitable: Boolean? by ::_invitable.delegate() + + private var _type: Optional = Optional.Missing() + public var type: ChannelType? by ::_type.delegate() + + override fun toRequest(): StartThreadRequest { + return StartThreadRequest( + name = name, + autoArchiveDuration = _autoArchiveDuration, + type = _type, + invitable = _invitable, + rateLimitPerUser = _rateLimitPerUser + ) + } +} diff --git a/rest/src/main/kotlin/builder/channel/thread/ThreadModifyBuilder.kt b/rest/src/main/kotlin/builder/channel/thread/ThreadModifyBuilder.kt index d3e2c7edf574..e257edc512a4 100644 --- a/rest/src/main/kotlin/builder/channel/thread/ThreadModifyBuilder.kt +++ b/rest/src/main/kotlin/builder/channel/thread/ThreadModifyBuilder.kt @@ -2,6 +2,7 @@ package dev.kord.rest.builder.channel.thread import dev.kord.common.annotation.KordDsl import dev.kord.common.entity.ArchiveDuration +import dev.kord.common.entity.Snowflake import dev.kord.common.entity.optional.Optional import dev.kord.common.entity.optional.OptionalBoolean import dev.kord.common.entity.optional.delegate.delegate @@ -30,6 +31,9 @@ public class ThreadModifyBuilder : AuditRequestBuilder> = Optional.Missing() + public var appliedTags: MutableList? by ::_appliedTags.delegate() + override fun toRequest(): ChannelModifyPatchRequest { return ChannelModifyPatchRequest( name = _name, @@ -37,7 +41,8 @@ public class ThreadModifyBuilder : AuditRequestBuilder Unit + ): Snowflake { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + channels.add(TextChannelCreateBuilder(name).apply(builder).toRequest().copy(id=OptionalSnowflake.Value(id))) + return id + } + public inline fun category( name: String, id: Snowflake = newUniqueSnowflake(), diff --git a/rest/src/main/kotlin/builder/message/create/ForumMessageCreateBuilder.kt b/rest/src/main/kotlin/builder/message/create/ForumMessageCreateBuilder.kt new file mode 100644 index 000000000000..e79507456598 --- /dev/null +++ b/rest/src/main/kotlin/builder/message/create/ForumMessageCreateBuilder.kt @@ -0,0 +1,55 @@ +package dev.kord.rest.builder.message.create + +import dev.kord.common.annotation.KordDsl +import dev.kord.common.entity.MessageFlags +import dev.kord.common.entity.Snowflake +import dev.kord.common.entity.optional.Optional +import dev.kord.common.entity.optional.coerceToMissing +import dev.kord.common.entity.optional.delegate.delegate +import dev.kord.common.entity.optional.map +import dev.kord.common.entity.optional.mapList +import dev.kord.rest.NamedFile +import dev.kord.rest.builder.RequestBuilder +import dev.kord.rest.builder.component.MessageComponentBuilder +import dev.kord.rest.builder.message.AllowedMentionsBuilder +import dev.kord.rest.builder.message.EmbedBuilder +import dev.kord.rest.json.request.ForumThreadMessageRequest +import dev.kord.rest.json.request.MultipartForumThreadMessageCreateRequest + +@KordDsl +public class ForumMessageCreateBuilder : MessageCreateBuilder, + RequestBuilder { + + override var content: String? = null + + override var tts: Boolean? = null + + override val embeds: MutableList = mutableListOf() + + override var allowedMentions: AllowedMentionsBuilder? = null + + override val components: MutableList = mutableListOf() + + override val files: MutableList = mutableListOf() + + private var _stickerIds: Optional> = Optional.Missing() + public val stickerIds: MutableList? by ::_stickerIds.delegate() + + override var flags: MessageFlags? = null + override var suppressEmbeds: Boolean? = null + override var suppressNotifications: Boolean? = null + + override fun toRequest(): MultipartForumThreadMessageCreateRequest { + return MultipartForumThreadMessageCreateRequest( + ForumThreadMessageRequest( + content = Optional(content).coerceToMissing(), + embeds = Optional(embeds).mapList { it.toRequest() }, + allowedMentions = Optional(allowedMentions).coerceToMissing().map { it.build() }, + components = Optional(components).coerceToMissing().mapList { it.build() }, + stickerIds = _stickerIds, + flags = buildMessageFlags(flags, suppressEmbeds, suppressNotifications), + ), + files + ) + } +} diff --git a/rest/src/main/kotlin/builder/message/create/WebhookMessageCreateBuilder.kt b/rest/src/main/kotlin/builder/message/create/WebhookMessageCreateBuilder.kt index c4d779dc6257..cbaeacf9b0ee 100644 --- a/rest/src/main/kotlin/builder/message/create/WebhookMessageCreateBuilder.kt +++ b/rest/src/main/kotlin/builder/message/create/WebhookMessageCreateBuilder.kt @@ -1,8 +1,10 @@ package dev.kord.rest.builder.message.create import dev.kord.common.annotation.KordDsl +import dev.kord.common.entity.ChannelType.GuildForum import dev.kord.common.entity.MessageFlags import dev.kord.common.entity.optional.* +import dev.kord.common.entity.optional.delegate.delegate import dev.kord.rest.NamedFile import dev.kord.rest.builder.RequestBuilder import dev.kord.rest.builder.component.MessageComponentBuilder @@ -40,6 +42,11 @@ public class WebhookMessageCreateBuilder : override var suppressEmbeds: Boolean? = null override var suppressNotifications: Boolean? = null + private var _threadName: Optional = Optional.Missing() + + /** Name of the thread to create (requires the webhook channel to be a [GuildForum] channel). */ + public var threadName: String? by ::_threadName.delegate() + override fun toRequest(): MultiPartWebhookExecuteRequest { return MultiPartWebhookExecuteRequest( WebhookExecuteRequest( @@ -50,7 +57,8 @@ public class WebhookMessageCreateBuilder : embeds = Optional(embeds).mapList { it.toRequest() }, allowedMentions = Optional(allowedMentions).coerceToMissing().map { it.build() }, components = Optional(components).coerceToMissing().mapList { it.build() }, - flags = buildMessageFlags(flags, suppressEmbeds, suppressNotifications) + flags = buildMessageFlags(flags, suppressEmbeds, suppressNotifications), + threadName = _threadName, ), files ) diff --git a/rest/src/main/kotlin/json/JsonErrorCode.kt b/rest/src/main/kotlin/json/JsonErrorCode.kt index 840a6a6b1ea8..be9fd8844b6a 100644 --- a/rest/src/main/kotlin/json/JsonErrorCode.kt +++ b/rest/src/main/kotlin/json/JsonErrorCode.kt @@ -145,6 +145,9 @@ public enum class JsonErrorCode(public val code: Int) { /** Unknown Guild Scheduled Event User. */ UnknownGuildScheduledEventUser(10071), + /** Unknown Tag. */ + UnknownTag(10087), + /** Bots cannot use this endpoint. */ NonBotEndpoint(20001), @@ -259,6 +262,12 @@ public enum class JsonErrorCode(public val code: Int) { /** Maximum number of edits to messages older than 1 hour reached. Try again later. */ MaxOldMessageEdits(30046), + /** Maximum number of pinned threads in a forum channel has been reached. */ + MaxPinnedThreadsInForumChannel(30047), + + /** Maximum number of tags in a forum channel has been reached. */ + MaxTagsInForumChannel(30048), + /** Bitrate is too high for channel of this type. */ BitrateTooHigh(30052), @@ -310,12 +319,24 @@ public enum class JsonErrorCode(public val code: Int) { /** Application interaction failed to send. */ InteractionFailedToSend(40043), + /** Cannot send a message in a forum channel. */ + CannotSendMessageInForumChannel(40058), + /** Interaction has already been acknowledged. */ InteractionAlreadyAcknowledged(40060), + /** Tag names must be unique. */ + TagNamesMustBeUnique(40061), + /** Service resource is being rate limited. */ ResourceIsRateLimited(40062), + /** There are no tags available that can be set by non-moderators. */ + NoSettableTagsAvailable(40066), + + /** A tag is required to create a forum post in this channel. */ + TagRequired(40067), + /** Missing access. */ MissingAccess(50001), @@ -560,6 +581,18 @@ public enum class JsonErrorCode(public val code: Int) { /** Title was blocked by automatic moderation. */ TitleBlockedByAutomaticModeration(200001), + /** Webhooks posted to forum channels must have a thread_name or thread_id. */ + WebhookMissingThreadNameOrThreadId(220001), + + /** Webhooks posted to forum channels cannot have both a thread_name and thread_id. */ + WebhookCannotHaveThreadNameAndThreadId(220002), + + /** Webhooks can only create threads in forum channels. */ + WebhooksCanOnlyCreateThreadsInForumChannels(220003), + + /** Webhook services cannot be used in forum channels. */ + WebhookServicesCannotBeUsedInForumChannels(220004), + /** Message blocked by harmful links filter. */ MessageBlockedByHarmfulLinksFilter(240000), diff --git a/rest/src/main/kotlin/json/request/ChannelRequests.kt b/rest/src/main/kotlin/json/request/ChannelRequests.kt index d9a34260daf0..11176c0feaa2 100644 --- a/rest/src/main/kotlin/json/request/ChannelRequests.kt +++ b/rest/src/main/kotlin/json/request/ChannelRequests.kt @@ -6,6 +6,7 @@ import dev.kord.common.entity.optional.OptionalBoolean import dev.kord.common.entity.optional.OptionalInt import dev.kord.common.entity.optional.OptionalSnowflake import dev.kord.common.serialization.DurationInSeconds +import dev.kord.rest.NamedFile import kotlinx.datetime.Instant import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -53,6 +54,19 @@ public data class ChannelModifyPatchRequest( val videoQualityMode: Optional = Optional.Missing(), @SerialName("default_auto_archive_duration") val defaultAutoArchiveDuration: Optional = Optional.Missing(), + @SerialName("default_reaction_emoji") + val defaultReactionEmoji: Optional = Optional.Missing(), + @SerialName("default_thread_rate_limit_per_user") + val defaultThreadRateLimitPerUser: Optional = Optional.Missing(), + val flags: Optional = Optional.Missing(), + @SerialName("available_tags") + val availableTags: Optional?> = Optional.Missing(), + @SerialName("applied_tags") + val appliedTags: Optional?> = Optional.Missing(), + @SerialName("default_sort_order") + val defaultSortOrder: Optional = Optional.Missing(), + @SerialName("default_forum_layout") + val defaultForumLayout: Optional = Optional.Missing(), ) @Serializable @@ -66,9 +80,19 @@ public data class ChannelPermissionEditRequest( public data class StartThreadRequest( val name: String, @SerialName("auto_archive_duration") - val autoArchiveDuration: ArchiveDuration, + val autoArchiveDuration: Optional = Optional.Missing(), val type: Optional = Optional.Missing(), - val invitable: OptionalBoolean = OptionalBoolean.Missing + val invitable: OptionalBoolean = OptionalBoolean.Missing, + @SerialName("rate_limit_per_user") + val rateLimitPerUser: Optional = Optional.Missing(), + val message: Optional = Optional.Missing(), + @SerialName("applied_tags") + val appliedTags: Optional?> = Optional.Missing() +) + +public data class MultipartStartThreadRequest( + val request: StartThreadRequest, + val files: Optional?> = Optional.Missing(), ) public data class ListThreadsBySnowflakeRequest( @@ -80,3 +104,13 @@ public data class ListThreadsByTimestampRequest( val before: Instant? = null, val limit: Int? = null ) + +@Serializable +public data class ForumTagRequest( + val name: Optional = Optional.Missing(), + val moderated: OptionalBoolean? = OptionalBoolean.Missing, + @SerialName("emoji_id") + val emojiId: Optional = Optional.Missing(), + @SerialName("emoji_name") + val emojiName: Optional = Optional.Missing() +) diff --git a/rest/src/main/kotlin/json/request/GuildRequests.kt b/rest/src/main/kotlin/json/request/GuildRequests.kt index 0a0d9b3f5a1c..1591a5fd193e 100644 --- a/rest/src/main/kotlin/json/request/GuildRequests.kt +++ b/rest/src/main/kotlin/json/request/GuildRequests.kt @@ -59,6 +59,17 @@ public data class GuildChannelCreateRequest( val id: OptionalSnowflake = OptionalSnowflake.Missing, @SerialName("default_auto_archive_duration") val defaultAutoArchiveDuration: Optional = Optional.Missing(), + @SerialName("default_reaction_emoji") + val defaultReactionEmoji: Optional = Optional.Missing(), + @SerialName("default_thread_rate_limit_per_user") + val defaultThreadRateLimitPerUser: Optional = Optional.Missing(), + val flags: Optional = Optional.Missing(), + @SerialName("available_tags") + val availableTags: Optional?> = Optional.Missing(), + @SerialName("default_sort_order") + val defaultSortOrder: Optional = Optional.Missing(), + @SerialName("default_forum_layout") + val defaultForumLayout: Optional = Optional.Missing(), ) @Serializable diff --git a/rest/src/main/kotlin/json/request/MessageRequests.kt b/rest/src/main/kotlin/json/request/MessageRequests.kt index e066d3eb0e0c..89e1ecbc0806 100644 --- a/rest/src/main/kotlin/json/request/MessageRequests.kt +++ b/rest/src/main/kotlin/json/request/MessageRequests.kt @@ -89,3 +89,21 @@ public data class MultipartMessagePatchRequest( @Serializable public data class BulkDeleteRequest(val messages: List) + +@Serializable +public data class ForumThreadMessageRequest( + val content: Optional = Optional.Missing(), + val embeds: Optional> = Optional.Missing(), + @SerialName("allowed_mentions") + val allowedMentions: Optional = Optional.Missing(), + @SerialName("message_reference") + val components: Optional> = Optional.Missing(), + @SerialName("sticker_ids") + val stickerIds: Optional> = Optional.Missing(), + val flags: Optional = Optional.Missing() +) + +public data class MultipartForumThreadMessageCreateRequest( + val request: ForumThreadMessageRequest, + val files: List = emptyList(), +) diff --git a/rest/src/main/kotlin/json/request/WebhookRequests.kt b/rest/src/main/kotlin/json/request/WebhookRequests.kt index 9b0f5dca83f2..b594b5003ada 100644 --- a/rest/src/main/kotlin/json/request/WebhookRequests.kt +++ b/rest/src/main/kotlin/json/request/WebhookRequests.kt @@ -33,7 +33,9 @@ public data class WebhookExecuteRequest( @SerialName("allowed_mentions") val allowedMentions: Optional = Optional.Missing(), val components: Optional> = Optional.Missing(), - val flags: Optional = Optional.Missing() + val flags: Optional = Optional.Missing(), + @SerialName("thread_name") + val threadName: Optional = Optional.Missing(), ) public data class MultiPartWebhookExecuteRequest( diff --git a/rest/src/main/kotlin/route/Route.kt b/rest/src/main/kotlin/route/Route.kt index 72fcbb70066e..88b6ec914383 100644 --- a/rest/src/main/kotlin/route/Route.kt +++ b/rest/src/main/kotlin/route/Route.kt @@ -3,6 +3,7 @@ package dev.kord.rest.route import dev.kord.common.KordConfiguration import dev.kord.common.annotation.KordExperimental import dev.kord.common.entity.* +import dev.kord.rest.json.request.ForumTagRequest import dev.kord.rest.json.request.GuildScheduledEventUsersResponse import dev.kord.rest.json.response.* import io.ktor.http.* @@ -81,6 +82,7 @@ public sealed class Route( public object ScheduledEventId : Key("{event.id}", true) public object StickerId : Key("{sticker.id}") public object AutoModerationRuleId : Key("{auto_moderation_rule.id}") + public object TagId : Key("{tag.id}") protected constructor( @@ -1012,4 +1014,25 @@ public sealed class Route( "/guilds/$GuildId/stickers/$StickerId", DiscordMessageSticker.serializer() ) + + public object ForumTagPost : + Route( + HttpMethod.Post, + "/channels/$ChannelId/tags", + DiscordChannel.serializer() + ) + + public object ForumTagDelete : + Route( + HttpMethod.Delete, + "/channels/$ChannelId/tags/$TagId", + DiscordChannel.serializer() + ) + + public object ForumTagPut : + Route( + HttpMethod.Put, + "/channels/$ChannelId/tags/$TagId", + DiscordChannel.serializer() + ) } diff --git a/rest/src/main/kotlin/service/ChannelService.kt b/rest/src/main/kotlin/service/ChannelService.kt index 0c45e5101396..a5c5f962cf68 100644 --- a/rest/src/main/kotlin/service/ChannelService.kt +++ b/rest/src/main/kotlin/service/ChannelService.kt @@ -3,8 +3,9 @@ package dev.kord.rest.service import dev.kord.common.entity.* import dev.kord.common.entity.optional.orEmpty import dev.kord.rest.builder.channel.* -import dev.kord.rest.builder.channel.thread.StartThreadBuilder +import dev.kord.rest.builder.channel.thread.StartForumThreadBuilder import dev.kord.rest.builder.channel.thread.StartThreadWithMessageBuilder +import dev.kord.rest.builder.channel.thread.StartThreadWithoutMessageBuilder import dev.kord.rest.builder.message.create.UserMessageCreateBuilder import dev.kord.rest.builder.message.modify.UserMessageModifyBuilder import dev.kord.rest.json.request.* @@ -311,18 +312,30 @@ public class ChannelService(requestHandler: RequestHandler) : RestService(reques builder: StartThreadWithMessageBuilder.() -> Unit ): DiscordChannel { contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } - val startBuilder = StartThreadWithMessageBuilder(name, archiveDuration).apply(builder) + val startBuilder = StartThreadWithMessageBuilder(name).apply { + this.autoArchiveDuration = archiveDuration + builder() + } return startThreadWithMessage(channelId, messageId, startBuilder.toRequest(), startBuilder.reason) } public suspend fun startThread( channelId: Snowflake, - request: StartThreadRequest, + multipartRequest: MultipartStartThreadRequest, reason: String? = null, ): DiscordChannel = call(Route.StartThreadPost) { keys[Route.ChannelId] = channelId - body(StartThreadRequest.serializer(), request) + body(StartThreadRequest.serializer(), multipartRequest.request) auditLogReason(reason) + multipartRequest.files.value?.forEach { file(it) } + } + + public suspend fun startThread( + channelId: Snowflake, + request: StartThreadRequest, + reason: String? = null, + ): DiscordChannel { + return startThread(channelId, MultipartStartThreadRequest(request), reason) } public suspend fun startThread( @@ -330,10 +343,23 @@ public class ChannelService(requestHandler: RequestHandler) : RestService(reques name: String, archiveDuration: ArchiveDuration, type: ChannelType, - builder: StartThreadBuilder.() -> Unit = {} + builder: StartThreadWithoutMessageBuilder.() -> Unit = {} ): DiscordChannel { contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } - val startBuilder = StartThreadBuilder(name, archiveDuration, type).apply(builder) + val startBuilder = StartThreadWithoutMessageBuilder(name).apply { + this.autoArchiveDuration = archiveDuration + this.type = type + } + return startThread(channelId, startBuilder.toRequest(), startBuilder.reason) + } + + public suspend fun startForumThread( + channelId: Snowflake, + name: String, + builder: StartForumThreadBuilder.() -> Unit = {} + ): DiscordChannel { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + val startBuilder = StartForumThreadBuilder(name).apply(builder) return startThread(channelId, startBuilder.toRequest(), startBuilder.reason) } @@ -400,6 +426,56 @@ public class ChannelService(requestHandler: RequestHandler) : RestService(reques if (before != null) parameter("before", before) if (limit != null) parameter("limit", limit) } + + public suspend fun createForumTag( + channelId: Snowflake, + name: String, + builder: ForumTagBuilder.() -> Unit = {} + ): DiscordChannel { + val forumTagBuilder = ForumTagBuilder(name).apply(builder) + return createForumTag(channelId, forumTagBuilder.toRequest(), forumTagBuilder.reason) + } + + public suspend fun createForumTag( + channelId: Snowflake, + request: ForumTagRequest, + reason: String? = null + ): DiscordChannel = call(Route.ForumTagPost) { + keys[Route.ChannelId] = channelId + + body(ForumTagRequest.serializer(), request) + auditLogReason(reason) + } + + public suspend fun deleteForumTag(channelId: Snowflake, tagId: Snowflake, reason: String? = null): DiscordChannel = + call(Route.ForumTagDelete) { + keys[Route.ChannelId] = channelId + keys[Route.TagId] = tagId + + auditLogReason(reason) + } + + public suspend fun editForumTag( + channelId: Snowflake, + tagId: Snowflake, + builder: ModifyForumTagBuilder.() -> Unit + ): DiscordChannel { + val forumTagBuilder = ModifyForumTagBuilder().apply(builder) + return editForumTag(channelId, tagId, forumTagBuilder.toRequest(), forumTagBuilder.reason) + } + + public suspend fun editForumTag( + channelId: Snowflake, + tagId: Snowflake, + request: ForumTagRequest, + reason: String? = null + ): DiscordChannel = call(Route.ForumTagPut) { + keys[Route.ChannelId] = channelId + keys[Route.TagId] = tagId + + body(ForumTagRequest.serializer(), request) + auditLogReason(reason) + } } public suspend inline fun ChannelService.patchTextChannel( @@ -413,6 +489,16 @@ public suspend inline fun ChannelService.patchTextChannel( return patchChannel(channelId, modifyBuilder.toRequest(), modifyBuilder.reason) } + +public suspend inline fun ChannelService.patchForumChannel( + channelId: Snowflake, + builder: ForumChannelModifyBuilder.() -> Unit +): DiscordChannel { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + val modifyBuilder = ForumChannelModifyBuilder().apply(builder) + return patchChannel(channelId, modifyBuilder.toRequest(), modifyBuilder.reason) +} + public suspend inline fun ChannelService.patchVoiceChannel( channelId: Snowflake, builder: VoiceChannelModifyBuilder.() -> Unit diff --git a/rest/src/main/kotlin/service/GuildService.kt b/rest/src/main/kotlin/service/GuildService.kt index 059227e2e018..6e80fef3d65f 100644 --- a/rest/src/main/kotlin/service/GuildService.kt +++ b/rest/src/main/kotlin/service/GuildService.kt @@ -541,6 +541,15 @@ public suspend inline fun GuildService.createTextChannel( return createGuildChannel(guildId, createBuilder.toRequest(), createBuilder.reason) } +public suspend inline fun GuildService.createForumChannel( + guildId: Snowflake, + name: String, + builder: ForumChannelCreateBuilder.() -> Unit +): DiscordChannel { + contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } + val createBuilder = ForumChannelCreateBuilder(name).apply(builder) + return createGuildChannel(guildId, createBuilder.toRequest(), createBuilder.reason) +} public suspend inline fun GuildService.createNewsChannel( guildId: Snowflake, name: String,