From ce7f0a12e6b9267e2d13f7995a29c903e6d0edd8 Mon Sep 17 00:00:00 2001 From: Hope <34831095+HopeBaron@users.noreply.github.com> Date: Thu, 15 Apr 2021 18:01:31 +0300 Subject: [PATCH] Kotlin guidelines (#252) * Use official kotlin style [publish skip] Co-authored-by: Michael Rittmeister --- buildSrc/src/main/kotlin/Dependencies.kt | 13 +- buildSrc/src/main/kotlin/Projects.kt | 4 +- .../src/main/kotlin/annotation/Annotations.kt | 11 +- common/src/main/kotlin/entity/AuditLog.kt | 148 +++--- common/src/main/kotlin/entity/Data.kt | 38 +- .../src/main/kotlin/entity/DiscordActivity.kt | 82 ++-- .../src/main/kotlin/entity/DiscordChannel.kt | 65 +-- .../main/kotlin/entity/DiscordConnection.kt | 33 +- common/src/main/kotlin/entity/DiscordEmoji.kt | 30 +- common/src/main/kotlin/entity/DiscordGuild.kt | 2 +- .../main/kotlin/entity/DiscordGuildPreview.kt | 26 +- .../main/kotlin/entity/DiscordGuildWidget.kt | 6 +- .../main/kotlin/entity/DiscordIntegration.kt | 68 +-- .../src/main/kotlin/entity/DiscordInvite.kt | 54 +-- .../src/main/kotlin/entity/DiscordMessage.kt | 421 +++++++++--------- common/src/main/kotlin/entity/DiscordRole.kt | 76 ++-- .../src/main/kotlin/entity/DiscordTemplate.kt | 36 +- common/src/main/kotlin/entity/DiscordUser.kt | 66 +-- .../src/main/kotlin/entity/DiscordWebhook.kt | 32 +- common/src/main/kotlin/entity/Interactions.kt | 1 + common/src/main/kotlin/entity/Invite.kt | 2 +- common/src/main/kotlin/entity/Permission.kt | 4 +- common/src/main/kotlin/entity/Presence.kt | 36 +- common/src/main/kotlin/entity/Snowflake.kt | 4 +- common/src/main/kotlin/entity/Team.kt | 54 +-- .../main/kotlin/entity/optional/Optional.kt | 18 +- .../kotlin/entity/optional/OptionalBoolean.kt | 13 +- .../kotlin/entity/optional/OptionalInt.kt | 15 +- .../kotlin/entity/optional/OptionalLong.kt | 2 +- .../entity/optional/OptionalSnowflake.kt | 15 +- .../delegate/OptionalBooleanDelegate.kt | 38 +- .../optional/delegate/OptionalDelegate.kt | 63 +-- .../optional/delegate/OptionalLongDelegate.kt | 38 +- .../delegate/OptionalSnowflakeDelegate.kt | 40 +- .../kotlin/ratelimit/BucketRateLimiter.kt | 6 +- core/src/main/kotlin/Kord.kt | 2 +- core/src/main/kotlin/Unsafe.kt | 30 +- core/src/main/kotlin/Util.kt | 61 ++- .../GlobalApplicationCommandBehavior.kt | 5 +- .../src/main/kotlin/behavior/GuildBehavior.kt | 3 +- .../kotlin/behavior/GuildEmojiBehavior.kt | 7 +- .../main/kotlin/behavior/MemberBehavior.kt | 30 +- .../main/kotlin/behavior/MessageBehavior.kt | 13 +- .../main/kotlin/behavior/TemplateBehavior.kt | 2 +- core/src/main/kotlin/behavior/UserBehavior.kt | 10 +- .../main/kotlin/behavior/WebhookBehavior.kt | 12 +- .../behavior/channel/CategoryBehavior.kt | 23 +- .../behavior/channel/ChannelBehavior.kt | 27 +- .../behavior/channel/GuildChannelBehavior.kt | 26 +- .../channel/GuildMessageChannelBehavior.kt | 2 +- .../behavior/channel/NewsChannelBehavior.kt | 12 +- .../behavior/channel/TextChannelBehavior.kt | 5 +- .../EphemeralFollowupMessageBehavior.kt | 4 +- .../EphemeralInteractionResponseBehavior.kt | 6 +- .../PublicFollowupMessageBehavior.kt | 4 +- .../main/kotlin/builder/kord/KordBuilder.kt | 1 - .../builder/kord/KordRestOnlyBuilder.kt | 16 +- core/src/main/kotlin/cache/CachingGateway.kt | 6 +- .../main/kotlin/cache/DataCacheExtensions.kt | 20 +- core/src/main/kotlin/cache/DataCacheView.kt | 18 +- .../main/kotlin/cache/data/ActivityData.kt | 56 +-- .../kotlin/cache/data/ApplicationInfoData.kt | 60 +-- .../main/kotlin/cache/data/AttachmentData.kt | 14 +- core/src/main/kotlin/cache/data/BanData.kt | 6 +- .../src/main/kotlin/cache/data/ChannelData.kt | 76 ++-- .../kotlin/cache/data/ClientStatusData.kt | 6 +- core/src/main/kotlin/cache/data/EmbedData.kt | 100 ++--- core/src/main/kotlin/cache/data/EmojiData.kt | 44 +- .../kotlin/cache/data/GuildPreviewData.kt | 50 +-- .../main/kotlin/cache/data/GuildWdigetData.kt | 6 +- .../main/kotlin/cache/data/IntegrationData.kt | 64 +-- .../cache/data/IntegrationsAccountData.kt | 6 +- .../kotlin/cache/data/InviteCreateData.kt | 44 +- core/src/main/kotlin/cache/data/InviteData.kt | 32 +- .../kotlin/cache/data/InviteDeleteData.kt | 6 +- core/src/main/kotlin/cache/data/MemberData.kt | 16 +- .../kotlin/cache/data/MembersChunkData.kt | 32 +- .../src/main/kotlin/cache/data/MessageData.kt | 136 +++--- .../kotlin/cache/data/MessageStickerData.kt | 18 +- .../kotlin/cache/data/PartialGuildData.kt | 5 +- .../cache/data/PermissionOverwriteData.kt | 8 +- .../main/kotlin/cache/data/PresenceData.kt | 20 +- .../main/kotlin/cache/data/ReactionData.kt | 10 +- .../cache/data/ReactionRemoveEmojiData.kt | 8 +- core/src/main/kotlin/cache/data/RegionData.kt | 14 +- core/src/main/kotlin/cache/data/RoleData.kt | 32 +- .../main/kotlin/cache/data/RoleTagsData.kt | 6 +- core/src/main/kotlin/cache/data/TeamData.kt | 16 +- core/src/main/kotlin/cache/data/UserData.kt | 12 +- .../src/main/kotlin/cache/data/WebhookData.kt | 18 +- core/src/main/kotlin/entity/Activity.kt | 25 +- .../src/main/kotlin/entity/ApplicationInfo.kt | 8 +- core/src/main/kotlin/entity/Attachment.kt | 2 +- core/src/main/kotlin/entity/AuditLog.kt | 6 +- core/src/main/kotlin/entity/Ban.kt | 8 +- core/src/main/kotlin/entity/Embed.kt | 3 +- core/src/main/kotlin/entity/Guild.kt | 6 +- core/src/main/kotlin/entity/GuildEmoji.kt | 9 +- core/src/main/kotlin/entity/GuildPreview.kt | 6 +- core/src/main/kotlin/entity/GuildWidget.kt | 13 +- core/src/main/kotlin/entity/Integration.kt | 8 +- core/src/main/kotlin/entity/Invite.kt | 8 +- core/src/main/kotlin/entity/Member.kt | 15 +- core/src/main/kotlin/entity/Message.kt | 9 +- core/src/main/kotlin/entity/PartialGuild.kt | 11 +- .../main/kotlin/entity/PermissionOverwrite.kt | 8 +- .../entity/PermissionOverwriteEntity.kt | 12 +- core/src/main/kotlin/entity/Presence.kt | 21 +- core/src/main/kotlin/entity/ReactionEmoji.kt | 6 +- core/src/main/kotlin/entity/Role.kt | 8 +- core/src/main/kotlin/entity/RoleTags.kt | 12 +- core/src/main/kotlin/entity/Strategizable.kt | 2 +- core/src/main/kotlin/entity/Team.kt | 6 +- core/src/main/kotlin/entity/User.kt | 4 +- core/src/main/kotlin/entity/VoiceState.kt | 9 +- core/src/main/kotlin/entity/Webhook.kt | 10 +- .../main/kotlin/entity/channel/Category.kt | 8 +- .../src/main/kotlin/entity/channel/Channel.kt | 8 +- .../main/kotlin/entity/channel/DmChannel.kt | 14 +- .../kotlin/entity/channel/GuildChannel.kt | 12 +- .../main/kotlin/entity/channel/NewsChannel.kt | 8 +- .../kotlin/entity/channel/StoreChannel.kt | 10 +- .../main/kotlin/entity/channel/TextChannel.kt | 10 +- .../kotlin/entity/channel/VoiceChannel.kt | 11 +- .../entity/channel/WelcomeScreenChannel.kt | 1 + .../kotlin/entity/interaction/Interaction.kt | 2 +- .../event/channel/ChannelPinsUpdateEvent.kt | 10 +- .../kotlin/event/channel/TypingStartEvent.kt | 20 +- .../data/ChannelPinsUpdateEventData.kt | 8 +- .../channel/data/TypingStartEventData.kt | 12 +- core/src/main/kotlin/event/gateway/Events.kt | 35 +- .../main/kotlin/event/guild/BanAddEvent.kt | 10 +- .../main/kotlin/event/guild/BanRemoveEvent.kt | 10 +- .../kotlin/event/guild/EmojisUpdateEvent.kt | 12 +- .../kotlin/event/guild/GuildCreateEvent.kt | 2 +- .../kotlin/event/guild/GuildDeleteEvent.kt | 10 +- .../kotlin/event/guild/GuildUpdateEvent.kt | 2 +- .../event/guild/IntegrationsUpdateEvent.kt | 10 +- .../kotlin/event/guild/InviteCreateEvent.kt | 16 +- .../kotlin/event/guild/InviteDeleteEvent.kt | 10 +- .../kotlin/event/guild/MemberJoinEvent.kt | 8 +- .../kotlin/event/guild/MemberUpdateEvent.kt | 12 +- .../kotlin/event/guild/MembersChunkEvent.kt | 14 +- .../event/guild/VoiceServerUpdateEvent.kt | 16 +- .../kotlin/event/guild/WebhookUpdateEvent.kt | 12 +- .../event/message/MessageBulkDeleteEvent.kt | 16 +- .../event/message/MessageCreateEvent.kt | 12 +- .../event/message/MessageDeleteEvent.kt | 16 +- .../event/message/MessageUpdateEvent.kt | 18 +- .../kotlin/event/message/ReactionAddEvent.kt | 18 +- .../event/message/ReactionRemoveAllEvent.kt | 14 +- .../event/message/ReactionRemoveEmojiEvent.kt | 17 +- .../event/message/ReactionRemoveEvent.kt | 20 +- .../main/kotlin/event/role/RoleCreateEvent.kt | 8 +- .../main/kotlin/event/role/RoleDeleteEvent.kt | 16 +- .../main/kotlin/event/role/RoleUpdateEvent.kt | 10 +- .../kotlin/event/user/PresenceUpdateEvent.kt | 18 +- .../main/kotlin/event/user/UserUpdateEvent.kt | 6 +- .../event/user/VoiceStateUpdateEvent.kt | 6 +- .../exception/EntityNotFoundException.kt | 29 +- .../handler/BaseGatewayEventHandler.kt | 8 +- .../gateway/handler/ChannelEventHandler.kt | 14 +- .../handler/GatewayEventInterceptor.kt | 30 +- .../gateway/handler/GuildEventHandler.kt | 18 +- .../gateway/handler/LifeCycleEventHandler.kt | 17 +- .../gateway/handler/MessageEventHandler.kt | 64 +-- .../gateway/handler/UserEventHandler.kt | 10 +- .../gateway/handler/VoiceEventHandler.kt | 12 +- .../gateway/handler/WebhookEventHandler.kt | 8 +- core/src/main/kotlin/live/LiveKordEntity.kt | 12 +- .../kotlin/supplier/CacheEntitySupplier.kt | 2 +- .../kotlin/supplier/EntitySupplyStrategy.kt | 2 +- .../kotlin/supplier/FallbackEntitySupplier.kt | 57 +-- gateway/src/main/kotlin/Command.kt | 117 ++--- gateway/src/main/kotlin/DefaultGateway.kt | 31 +- gateway/src/main/kotlin/Event.kt | 25 +- gateway/src/main/kotlin/Gateway.kt | 23 +- .../src/main/kotlin/GatewayConfiguration.kt | 68 +-- gateway/src/main/kotlin/Intent.kt | 2 +- gateway/src/main/kotlin/Ticker.kt | 2 +- .../main/kotlin/builder/PresenceBuilder.kt | 2 +- .../builder/RequestGuildMembersBuilder.kt | 4 +- gateway/src/main/kotlin/handler/Handler.kt | 6 +- .../main/kotlin/handler/HandshakeHandler.kt | 10 +- .../main/kotlin/handler/HeartbeatHandler.kt | 14 +- .../kotlin/handler/InvalidSessionHandler.kt | 4 +- .../main/kotlin/handler/ReconnectHandler.kt | 4 +- .../main/kotlin/handler/SequenceHandler.kt | 4 +- gateway/src/main/kotlin/retry/LinearRetry.kt | 10 +- gateway/src/samples/kotlin/EventListener.kt | 23 +- gradle.properties | 1 + rest/src/main/kotlin/Image.kt | 2 +- .../builder/channel/CategoryCreateBuilder.kt | 14 +- .../builder/channel/CategoryModifyBuilder.kt | 13 +- .../channel/ChannelPermissionModifyBuilder.kt | 3 +- .../channel/EditGuildChannelBuilder.kt | 46 +- .../GuildChannelPositionModifyBuilder.kt | 9 +- .../builder/channel/InviteCreateBuilder.kt | 16 +- .../channel/NewsChannelCreateBuilder.kt | 20 +- .../channel/TextChannelCreateBuilder.kt | 16 +- .../channel/VoiceChannelCreateBuilder.kt | 14 +- .../builder/guild/EmojiCreateBuilder.kt | 6 +- .../builder/guild/EmojiModifyBuilder.kt | 4 +- .../builder/guild/GuildCreateBuilder.kt | 59 ++- .../builder/guild/GuildModifyBuilder.kt | 33 +- .../guild/WelcomeScreenModifyBuilder.kt | 11 +- .../builder/guild/WidgetModifyBuilder.kt | 4 +- .../integration/IntegrationModifyBuilder.kt | 5 +- .../EphemeralInteractionBuilders.kt | 6 +- .../interaction/FollowupMessageBuilders.kt | 4 +- .../builder/interaction/OptionsBuilder.kt | 6 +- .../interaction/PublicInteractionBuilder.kt | 6 +- .../kotlin/builder/member/MemberAddBuilder.kt | 2 +- .../builder/member/MemberModifyBuilder.kt | 10 +- .../kotlin/builder/message/EmbedBuilder.kt | 26 +- .../builder/message/MessageCreateBuilder.kt | 8 +- .../builder/message/MessageModifyBuilder.kt | 2 +- .../kotlin/builder/role/RoleCreateBuilder.kt | 12 +- .../kotlin/builder/role/RoleModifyBuilder.kt | 10 +- .../role/RolePositionsModifyBuilder.kt | 2 +- .../builder/template/TemplateBuilders.kt | 2 +- .../builder/user/CurrentUserModifyBuilder.kt | 2 +- .../builder/user/GroupDMCreateBuilder.kt | 4 +- .../builder/webhook/ExecuteWebhookBuilder.kt | 4 +- .../builder/webhook/WebhookCreateBuilder.kt | 4 +- .../builder/webhook/WebhookModifyBuilder.kt | 8 +- rest/src/main/kotlin/json/JsonErrorCode.kt | 63 ++- .../main/kotlin/json/OptionalSerializer.kt | 4 +- .../kotlin/json/request/AuditLogRequests.kt | 8 +- .../json/request/ChannelFollowRequest.kt | 4 +- .../kotlin/json/request/ChannelRequests.kt | 58 +-- .../main/kotlin/json/request/EmojiRequests.kt | 10 +- .../main/kotlin/json/request/GuildRequests.kt | 212 ++++----- .../json/request/InteractionsRequests.kt | 3 +- .../json/request/InviteCreateRequest.kt | 20 +- .../kotlin/json/request/MessageRequests.kt | 73 ++- .../kotlin/json/request/TemplateRequests.kt | 12 +- .../main/kotlin/json/request/UserRequests.kt | 21 +- .../kotlin/json/request/WebhookRequests.kt | 26 +- .../json/response/ApplicationInfoResponse.kt | 44 +- .../main/kotlin/json/response/BanResponse.kt | 4 +- .../main/kotlin/json/response/Connection.kt | 24 +- .../kotlin/json/response/EmbedResponse.kt | 18 +- .../json/response/FollowedChannelResponse.kt | 8 +- rest/src/main/kotlin/json/response/Gateway.kt | 16 +- .../kotlin/json/response/NothingSerializer.kt | 2 +- .../kotlin/ratelimit/AbstractRateLimiter.kt | 5 +- .../ratelimit/ExclusionRequestRateLimiter.kt | 3 +- .../ratelimit/ParallelRequestRateLimiter.kt | 6 +- .../kotlin/ratelimit/RequestRateLimiter.kt | 22 +- rest/src/main/kotlin/request/HttpUtils.kt | 9 +- .../main/kotlin/request/KtorRequestHandler.kt | 23 +- rest/src/main/kotlin/request/Request.kt | 44 +- .../src/main/kotlin/request/RequestHandler.kt | 2 +- .../kotlin/request/RestRequestException.kt | 14 +- rest/src/main/kotlin/route/Route.kt | 49 +- .../main/kotlin/service/ApplicationService.kt | 2 +- .../main/kotlin/service/AuditLogService.kt | 8 +- .../src/main/kotlin/service/ChannelService.kt | 174 +++++--- rest/src/main/kotlin/service/EmojiService.kt | 35 +- rest/src/main/kotlin/service/GuildService.kt | 228 ++++++---- .../main/kotlin/service/InteractionService.kt | 46 +- rest/src/main/kotlin/service/RestClient.kt | 2 +- .../main/kotlin/service/TemplateService.kt | 47 +- .../src/main/kotlin/service/WebhookService.kt | 54 ++- 265 files changed, 3279 insertions(+), 2719 deletions(-) diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 9394901a863..fb9475f42d2 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -22,8 +22,10 @@ object Versions { @Suppress("ObjectPropertyName") object Dependencies { const val jdk8 = "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - const val `kotlinx-serialization` = "org.jetbrains.kotlinx:kotlinx-serialization-core:${Versions.kotlinxSerialization}" - const val `kotlinx-serialization-json` = "org.jetbrains.kotlinx:kotlinx-serialization-json:${Versions.kotlinxSerialization}" + const val `kotlinx-serialization` = + "org.jetbrains.kotlinx:kotlinx-serialization-core:${Versions.kotlinxSerialization}" + const val `kotlinx-serialization-json` = + "org.jetbrains.kotlinx:kotlinx-serialization-json:${Versions.kotlinxSerialization}" const val `kotlinx-coroutines` = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.kotlinxCoroutines}" const val `kotlinx-atomicfu` = "org.jetbrains.kotlinx:atomicfu-jvm:${Versions.atomicFu}" @@ -31,19 +33,20 @@ object Dependencies { const val `kotlin-test` = "org.jetbrains.kotlin:kotlin-test:${Versions.kotlinTest}" const val junit5 = "org.jetbrains.kotlin:kotlin-test-junit5:${Versions.kotlinTest}" - const val `kotlinx-coroutines-test` = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.kotlinxCoroutinesTest}" + const val `kotlinx-coroutines-test` = + "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.kotlinxCoroutinesTest}" const val `kotlin-reflect` = "org.jetbrains.kotlin:kotlin-reflect:${Versions.kotlinReflect}" const val `junit-jupiter-api` = "org.junit.jupiter:junit-jupiter-api:${Versions.junitJupiterApi}" const val `junit-jupiter-engine` = "org.junit.jupiter:junit-jupiter-engine:${Versions.junitJupiterEngine}" const val sl4j = "org.slf4j:slf4j-simple:${Versions.sl4j}" - const val `ktor-client-json` = "io.ktor:ktor-client-json:${Versions.ktor}" + const val `ktor-client-json` = "io.ktor:ktor-client-json:${Versions.ktor}" const val `ktor-client-json-jvm` = "io.ktor:ktor-client-json-jvm:${Versions.ktor}" const val `ktor-client-serialization-jvm` = "io.ktor:ktor-client-serialization-jvm:${Versions.ktor}" const val `ktor-client-cio` = "io.ktor:ktor-client-cio:${Versions.ktor}" const val `ktor-client-websocket` = "io.ktor:ktor-client-websockets:${Versions.ktor}" const val `ktor-client-mock` = "io.ktor:ktor-client-mock:${Versions.ktor}" - const val `ktor-client-mock-jvm`= "io.ktor:ktor-client-mock-jvm:${Versions.ktor}" + const val `ktor-client-mock-jvm` = "io.ktor:ktor-client-mock-jvm:${Versions.ktor}" const val `cache-api` = "dev.kord.cache:cache-api" const val `cache-map` = "dev.kord.cache:cache-map" diff --git a/buildSrc/src/main/kotlin/Projects.kt b/buildSrc/src/main/kotlin/Projects.kt index 560adffe9c4..0e9b574b80b 100644 --- a/buildSrc/src/main/kotlin/Projects.kt +++ b/buildSrc/src/main/kotlin/Projects.kt @@ -16,11 +16,11 @@ object Library { const val name = "kord" const val group = "dev.kord" val version: String - get() = if (isJitPack) System.getenv("RELEASE_TAG") + get() = if (isJitPack) System.getenv("RELEASE_TAG") else { val tag = System.getenv("GITHUB_TAG_NAME") val branch = System.getenv("GITHUB_BRANCH_NAME") - when { + when { !tag.isNullOrBlank() -> tag !branch.isNullOrBlank() && branch.startsWith("refs/heads/") -> branch.substringAfter("refs/heads/").replace("/", "-") + "-SNAPSHOT" diff --git a/common/src/main/kotlin/annotation/Annotations.kt b/common/src/main/kotlin/annotation/Annotations.kt index f808131ed97..db8e3e68c6e 100644 --- a/common/src/main/kotlin/annotation/Annotations.kt +++ b/common/src/main/kotlin/annotation/Annotations.kt @@ -56,5 +56,14 @@ annotation class KordUnsafe * Marks the annotated declaration as deprecated since [version]. */ @MustBeDocumented -@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.TYPEALIAS) +@Target( + AnnotationTarget.CLASS, + AnnotationTarget.FUNCTION, + AnnotationTarget.PROPERTY, + AnnotationTarget.ANNOTATION_CLASS, + AnnotationTarget.CONSTRUCTOR, + AnnotationTarget.PROPERTY_SETTER, + AnnotationTarget.PROPERTY_GETTER, + AnnotationTarget.TYPEALIAS +) annotation class DeprecatedSinceKord(val version: String) diff --git a/common/src/main/kotlin/entity/AuditLog.kt b/common/src/main/kotlin/entity/AuditLog.kt index 3d17e8d8106..18d4c2a3dc6 100644 --- a/common/src/main/kotlin/entity/AuditLog.kt +++ b/common/src/main/kotlin/entity/AuditLog.kt @@ -18,87 +18,87 @@ import dev.kord.common.entity.VerificationLevel as CommonVerificationLevel @Serializable data class DiscordAuditLog( - val webhooks: List, - val users: List, - @SerialName("audit_log_entries") - val auditLogEntries: List, - val integrations: List, + val webhooks: List, + val users: List, + @SerialName("audit_log_entries") + val auditLogEntries: List, + val integrations: List, ) @Serializable data class DiscordAuditLogEntry( - @SerialName("target_id") - val targetId: Snowflake?, - val changes: Optional>> = Optional.Missing(), - @SerialName("user_id") - val userId: Snowflake, - val id: Snowflake, - @SerialName("action_type") - val actionType: AuditLogEvent, - val options: Optional = Optional.Missing(), - val reason: Optional = Optional.Missing(), + @SerialName("target_id") + val targetId: Snowflake?, + val changes: Optional>> = Optional.Missing(), + @SerialName("user_id") + val userId: Snowflake, + val id: Snowflake, + @SerialName("action_type") + val actionType: AuditLogEvent, + val options: Optional = Optional.Missing(), + val reason: Optional = Optional.Missing(), ) { @Suppress("UNCHECKED_CAST") operator fun get(value: AuditLogChangeKey): AuditLogChange? = - changes.orEmpty().firstOrNull { it.key == value } as? AuditLogChange + changes.orEmpty().firstOrNull { it.key == value } as? AuditLogChange } @Serializable data class AuditLogEntryOptionalInfo( - /* - Do not trust the docs: - 2020-11-12 field is described as present but is in fact optional - */ - @SerialName("delete_member_days") - val deleteMemberDays: Optional = Optional.Missing(), - /* - Do not trust the docs: - 2020-11-12 field is described as present but is in fact optional - */ - @SerialName("members_removed") - val membersRemoved: Optional = Optional.Missing(), - /* - Do not trust the docs: - 2020-11-12 field is described as present but is in fact optional - */ - @SerialName("channel_id") - val channelId: OptionalSnowflake = OptionalSnowflake.Missing, - /* - Do not trust the docs: - 2020-11-12 field is described as present but is in fact optional - */ - @SerialName("message_id") - val messageId: OptionalSnowflake = OptionalSnowflake.Missing, - /* - Do not trust the docs: - 2020-11-12 field is described as present but is in fact optional - */ - val count: Optional = Optional.Missing(), - /* - Do not trust the docs: - 2020-11-12 field is described as present but is in fact optional - */ - val id: OptionalSnowflake = OptionalSnowflake.Missing, - /* - Do not trust the docs: - 2020-11-12 field is described as present but is in fact optional - */ - val type: Optional = Optional.Missing(), - /* - Do not trust the docs: - 2020-11-12 field is described as present but is in fact optional - */ - @SerialName("role_name") - val roleName: Optional = Optional.Missing(), + /* + Do not trust the docs: + 2020-11-12 field is described as present but is in fact optional + */ + @SerialName("delete_member_days") + val deleteMemberDays: Optional = Optional.Missing(), + /* + Do not trust the docs: + 2020-11-12 field is described as present but is in fact optional + */ + @SerialName("members_removed") + val membersRemoved: Optional = Optional.Missing(), + /* + Do not trust the docs: + 2020-11-12 field is described as present but is in fact optional + */ + @SerialName("channel_id") + val channelId: OptionalSnowflake = OptionalSnowflake.Missing, + /* + Do not trust the docs: + 2020-11-12 field is described as present but is in fact optional + */ + @SerialName("message_id") + val messageId: OptionalSnowflake = OptionalSnowflake.Missing, + /* + Do not trust the docs: + 2020-11-12 field is described as present but is in fact optional + */ + val count: Optional = Optional.Missing(), + /* + Do not trust the docs: + 2020-11-12 field is described as present but is in fact optional + */ + val id: OptionalSnowflake = OptionalSnowflake.Missing, + /* + Do not trust the docs: + 2020-11-12 field is described as present but is in fact optional + */ + val type: Optional = Optional.Missing(), + /* + Do not trust the docs: + 2020-11-12 field is described as present but is in fact optional + */ + @SerialName("role_name") + val roleName: Optional = Optional.Missing(), ) @Serializable(with = AuditLogChange.Serializer::class) data class AuditLogChange( - val new: T?, - val old: T?, - val key: AuditLogChangeKey, + val new: T?, + val old: T?, + val key: AuditLogChangeKey, ) { internal class Serializer(val ser: KSerializer) : KSerializer> { @@ -117,7 +117,11 @@ data class AuditLogChange( when (val index = decodeElementIndex(descriptor)) { 0 -> new = decodeSerializableElement(descriptor, index, JsonElement.serializer()) 1 -> old = decodeSerializableElement(descriptor, index, JsonElement.serializer()) - 2 -> key = decodeSerializableElement(descriptor, index, AuditLogChangeKey.Serializer(Unit.serializer())) + 2 -> key = decodeSerializableElement( + descriptor, + index, + AuditLogChangeKey.Serializer(Unit.serializer()) + ) CompositeDecoder.DECODE_DONE -> break else -> throw SerializationException("unknown index: $index") } @@ -127,7 +131,11 @@ data class AuditLogChange( val oldVal = old?.let { Json.decodeFromJsonElement(key.serializer, old) } @Suppress("UNCHECKED_CAST") - return AuditLogChange(new = newVal, old = oldVal, key = key as AuditLogChangeKey) as AuditLogChange + return AuditLogChange( + new = newVal, + old = oldVal, + key = key as AuditLogChangeKey + ) as AuditLogChange } } @@ -148,7 +156,7 @@ sealed class AuditLogChangeKey(val name: String, val serializer: KSerializer< override fun toString(): String = "AuditLogChangeKey(name=$name)" - class Unknown(name: String): AuditLogChangeKey(name, JsonElement.serializer()) + class Unknown(name: String) : AuditLogChangeKey(name, JsonElement.serializer()) @SerialName("name") object Name : AuditLogChangeKey("name", serializer()) @@ -178,10 +186,12 @@ sealed class AuditLogChangeKey(val name: String, val serializer: KSerializer< object VerificationLevel : AuditLogChangeKey("verification_level", serializer()) @SerialName("explicit_content_filter") - object ExplicitContentFilter : AuditLogChangeKey("explicit_content_filter", serializer()) + object ExplicitContentFilter : + AuditLogChangeKey("explicit_content_filter", serializer()) @SerialName("default_message_notifications") - object DefaultMessageNotificationLevel : AuditLogChangeKey("default_message_notifications", serializer()) + object DefaultMessageNotificationLevel : + AuditLogChangeKey("default_message_notifications", serializer()) @SerialName("vanity_url_code") object VanityUrlCode : AuditLogChangeKey("vanity_url_code", serializer()) diff --git a/common/src/main/kotlin/entity/Data.kt b/common/src/main/kotlin/entity/Data.kt index 4b2cb1a77fa..d5b1fefc62c 100644 --- a/common/src/main/kotlin/entity/Data.kt +++ b/common/src/main/kotlin/entity/Data.kt @@ -7,28 +7,28 @@ import kotlinx.serialization.Serializable @Serializable data class DiscordPinsUpdateData( - @SerialName("guild_id") - val guildId: OptionalSnowflake = OptionalSnowflake.Missing, - @SerialName("channel_id") - val channelId: Snowflake, - @SerialName("last_pin_timestamp") - /* - Do not trust the docs: - 2020-11-06 Docs mention this being optional only, but unpinning a channel results - in this field being null. - */ - val lastPinTimestamp: Optional = Optional.Missing() + @SerialName("guild_id") + val guildId: OptionalSnowflake = OptionalSnowflake.Missing, + @SerialName("channel_id") + val channelId: Snowflake, + @SerialName("last_pin_timestamp") + /* + Do not trust the docs: + 2020-11-06 Docs mention this being optional only, but unpinning a channel results + in this field being null. + */ + val lastPinTimestamp: Optional = Optional.Missing() ) @Serializable data class DiscordTyping( - @SerialName("channel_id") - val channelId: Snowflake, - @SerialName("guild_id") - val guildId: OptionalSnowflake = OptionalSnowflake.Missing, - @SerialName("user_id") - val userId: Snowflake, - val timestamp: Long, - val member: Optional = Optional.Missing() + @SerialName("channel_id") + val channelId: Snowflake, + @SerialName("guild_id") + val guildId: OptionalSnowflake = OptionalSnowflake.Missing, + @SerialName("user_id") + val userId: Snowflake, + val timestamp: Long, + val member: Optional = Optional.Missing() ) diff --git a/common/src/main/kotlin/entity/DiscordActivity.kt b/common/src/main/kotlin/entity/DiscordActivity.kt index ec23ed44627..ea3fdecd3c6 100644 --- a/common/src/main/kotlin/entity/DiscordActivity.kt +++ b/common/src/main/kotlin/entity/DiscordActivity.kt @@ -13,29 +13,29 @@ import kotlinx.serialization.encoding.Encoder @Serializable data class DiscordBotActivity( - val name: String, - val type: ActivityType, - val url: Optional = Optional.Missing() + val name: String, + val type: ActivityType, + val url: Optional = Optional.Missing() ) @Serializable data class DiscordActivity( - val name: String, - val type: ActivityType, - val url: Optional = Optional.Missing(), - @SerialName("created_at") - val createdAt: Long, - val timestamps: Optional = Optional.Missing(), - @SerialName("application_id") - val applicationId: OptionalSnowflake = OptionalSnowflake.Missing, - val details: Optional = Optional.Missing(), - val state: Optional = Optional.Missing(), - val emoji: Optional = Optional.Missing(), - val party: Optional = Optional.Missing(), - val assets: Optional = Optional.Missing(), - val secrets: Optional = Optional.Missing(), - val instance: OptionalBoolean = OptionalBoolean.Missing, - val flags: Optional = Optional.Missing() + val name: String, + val type: ActivityType, + val url: Optional = Optional.Missing(), + @SerialName("created_at") + val createdAt: Long, + val timestamps: Optional = Optional.Missing(), + @SerialName("application_id") + val applicationId: OptionalSnowflake = OptionalSnowflake.Missing, + val details: Optional = Optional.Missing(), + val state: Optional = Optional.Missing(), + val emoji: Optional = Optional.Missing(), + val party: Optional = Optional.Missing(), + val assets: Optional = Optional.Missing(), + val secrets: Optional = Optional.Missing(), + val instance: OptionalBoolean = OptionalBoolean.Missing, + val flags: Optional = Optional.Missing() ) enum class ActivityFlag(val value: Int) { @@ -52,7 +52,7 @@ class ActivityFlags(val value: Int) { val flags: Set get() = ActivityFlag.values().filter { (it.value and value) == it.value }.toSet() - operator fun contains(flag: ActivityFlag) : Boolean = (flag.value and value) == flag.value + operator fun contains(flag: ActivityFlag): Boolean = (flag.value and value) == flag.value internal object Serializer : KSerializer { override val descriptor: SerialDescriptor @@ -69,29 +69,29 @@ class ActivityFlags(val value: Int) { @Serializable data class DiscordActivityTimeStamps( - val start: OptionalLong = OptionalLong.Missing, - val end: OptionalLong = OptionalLong.Missing + val start: OptionalLong = OptionalLong.Missing, + val end: OptionalLong = OptionalLong.Missing ) @Serializable data class DiscordActivityEmoji( - val name: String, - val id: OptionalSnowflake = OptionalSnowflake.Missing, - val animated: OptionalBoolean = OptionalBoolean.Missing + val name: String, + val id: OptionalSnowflake = OptionalSnowflake.Missing, + val animated: OptionalBoolean = OptionalBoolean.Missing ) @Serializable data class DiscordActivityParty( - val id: Optional = Optional.Missing(), - val size: Optional = Optional.Missing() + val id: Optional = Optional.Missing(), + val size: Optional = Optional.Missing() ) @Serializable(DiscordActivityPartySize.Serializer::class) data class DiscordActivityPartySize( - val current: Int, - val maximum: Int + val current: Int, + val maximum: Int ) { - internal object Serializer: KSerializer { + internal object Serializer : KSerializer { @OptIn(ExperimentalSerializationApi::class) override val descriptor: SerialDescriptor get() = listSerialDescriptor(Int.serializer().descriptor) @@ -111,21 +111,21 @@ data class DiscordActivityPartySize( @Serializable data class DiscordActivityAssets( - @SerialName("large_image") - val largeImage: Optional = Optional.Missing(), - @SerialName("large_text") - val largeText: Optional = Optional.Missing(), - @SerialName("small_image") - val smallImage: Optional = Optional.Missing(), - @SerialName("small_text") - val smallText: Optional = Optional.Missing() + @SerialName("large_image") + val largeImage: Optional = Optional.Missing(), + @SerialName("large_text") + val largeText: Optional = Optional.Missing(), + @SerialName("small_image") + val smallImage: Optional = Optional.Missing(), + @SerialName("small_text") + val smallText: Optional = Optional.Missing() ) @Serializable data class DiscordActivitySecrets( - val join: Optional = Optional.Missing(), - val spectate: Optional = Optional.Missing(), - val match: Optional = Optional.Missing() + val join: Optional = Optional.Missing(), + val spectate: Optional = Optional.Missing(), + val match: Optional = Optional.Missing() ) @Serializable(with = ActivityType.ActivityTypeSerializer::class) diff --git a/common/src/main/kotlin/entity/DiscordChannel.kt b/common/src/main/kotlin/entity/DiscordChannel.kt index a4aace7afa6..3d96a0c5e8c 100644 --- a/common/src/main/kotlin/entity/DiscordChannel.kt +++ b/common/src/main/kotlin/entity/DiscordChannel.kt @@ -38,34 +38,34 @@ import kotlinx.serialization.encoding.Encoder */ @Serializable data class DiscordChannel( - val id: Snowflake, - val type: ChannelType, - @SerialName("guild_id") - val guildId: OptionalSnowflake = OptionalSnowflake.Missing, - val position: OptionalInt = OptionalInt.Missing, - @SerialName("permission_overwrites") - val permissionOverwrites: Optional> = Optional.Missing(), - val name: Optional = Optional.Missing(), - val topic: Optional = Optional.Missing(), - val nsfw: OptionalBoolean = OptionalBoolean.Missing, - @SerialName("last_message_id") - val lastMessageId: OptionalSnowflake? = OptionalSnowflake.Missing, - val bitrate: OptionalInt = OptionalInt.Missing, - @SerialName("user_limit") - val userLimit: OptionalInt = OptionalInt.Missing, - @SerialName("rate_limit_per_user") - val rateLimitPerUser: OptionalInt = OptionalInt.Missing, - val recipients: Optional> = Optional.Missing(), - val icon: Optional = Optional.Missing(), - @SerialName("owner_id") - val ownerId: OptionalSnowflake = OptionalSnowflake.Missing, - @SerialName("application_id") - val applicationId: OptionalSnowflake = OptionalSnowflake.Missing, - @SerialName("parent_id") - val parentId: OptionalSnowflake? = OptionalSnowflake.Missing, - @SerialName("last_pin_timestamp") - val lastPinTimestamp: Optional = Optional.Missing(), - val permissions: Optional = Optional.Missing() + val id: Snowflake, + val type: ChannelType, + @SerialName("guild_id") + val guildId: OptionalSnowflake = OptionalSnowflake.Missing, + val position: OptionalInt = OptionalInt.Missing, + @SerialName("permission_overwrites") + val permissionOverwrites: Optional> = Optional.Missing(), + val name: Optional = Optional.Missing(), + val topic: Optional = Optional.Missing(), + val nsfw: OptionalBoolean = OptionalBoolean.Missing, + @SerialName("last_message_id") + val lastMessageId: OptionalSnowflake? = OptionalSnowflake.Missing, + val bitrate: OptionalInt = OptionalInt.Missing, + @SerialName("user_limit") + val userLimit: OptionalInt = OptionalInt.Missing, + @SerialName("rate_limit_per_user") + val rateLimitPerUser: OptionalInt = OptionalInt.Missing, + val recipients: Optional> = Optional.Missing(), + val icon: Optional = Optional.Missing(), + @SerialName("owner_id") + val ownerId: OptionalSnowflake = OptionalSnowflake.Missing, + @SerialName("application_id") + val applicationId: OptionalSnowflake = OptionalSnowflake.Missing, + @SerialName("parent_id") + val parentId: OptionalSnowflake? = OptionalSnowflake.Missing, + @SerialName("last_pin_timestamp") + val lastPinTimestamp: Optional = Optional.Missing(), + val permissions: Optional = Optional.Missing() ) @Serializable(with = ChannelType.Serializer::class) @@ -81,6 +81,7 @@ sealed class ChannelType(val value: Int) { /** A voice channel within a server. */ object GuildVoice : ChannelType(2) + /** A direct message between multiple users. */ object GroupDM : ChannelType(3) @@ -117,10 +118,10 @@ sealed class ChannelType(val value: Int) { @Serializable data class Overwrite( - val id: Snowflake, - val type: OverwriteType, - val allow: Permissions, - val deny: Permissions, + val id: Snowflake, + val type: OverwriteType, + val allow: Permissions, + val deny: Permissions, ) { companion object; diff --git a/common/src/main/kotlin/entity/DiscordConnection.kt b/common/src/main/kotlin/entity/DiscordConnection.kt index 0a919b2ff4c..6d8f96a8f31 100644 --- a/common/src/main/kotlin/entity/DiscordConnection.kt +++ b/common/src/main/kotlin/entity/DiscordConnection.kt @@ -27,17 +27,17 @@ import kotlinx.serialization.encoding.Encoder */ @Serializable data class DiscordConnection( - val id: String, - val name: String, - val type: String, - val revoked: OptionalBoolean = OptionalBoolean.Missing, - val integrations: Optional> = Optional.Missing(), - val verified: Boolean, - @SerialName("friend_sync") - val friendSync: Boolean, - @SerialName("show_activity") - val showActivity: Boolean, - val visibility: DiscordConnectionVisibility, + val id: String, + val name: String, + val type: String, + val revoked: OptionalBoolean = OptionalBoolean.Missing, + val integrations: Optional> = Optional.Missing(), + val verified: Boolean, + @SerialName("friend_sync") + val friendSync: Boolean, + @SerialName("show_activity") + val showActivity: Boolean, + val visibility: DiscordConnectionVisibility, ) @Serializable(with = DiscordConnectionVisibility.Serializer::class) @@ -58,11 +58,12 @@ sealed class DiscordConnectionVisibility(val value: Int) { override val descriptor: SerialDescriptor get() = PrimitiveSerialDescriptor("Kord.DiscordConnectionVisibility", PrimitiveKind.INT) - override fun deserialize(decoder: Decoder): DiscordConnectionVisibility = when(val value = decoder.decodeInt()) { - 0 -> None - 1 -> Everyone - else -> Unknown(value) - } + override fun deserialize(decoder: Decoder): DiscordConnectionVisibility = + when (val value = decoder.decodeInt()) { + 0 -> None + 1 -> Everyone + else -> Unknown(value) + } override fun serialize(encoder: Encoder, value: DiscordConnectionVisibility) { encoder.encodeInt(value.value) diff --git a/common/src/main/kotlin/entity/DiscordEmoji.kt b/common/src/main/kotlin/entity/DiscordEmoji.kt index 373dca4521a..d096c5b966f 100644 --- a/common/src/main/kotlin/entity/DiscordEmoji.kt +++ b/common/src/main/kotlin/entity/DiscordEmoji.kt @@ -19,22 +19,22 @@ import kotlinx.serialization.Serializable */ @Serializable data class DiscordEmoji( - val id: Snowflake?, - val name: String?, - val roles: Optional> = Optional.Missing(), - val user: Optional = Optional.Missing(), - @SerialName("require_colons") - val requireColons: OptionalBoolean = OptionalBoolean.Missing, - val managed: OptionalBoolean = OptionalBoolean.Missing, - val animated: OptionalBoolean = OptionalBoolean.Missing, - val available: OptionalBoolean = OptionalBoolean.Missing, + val id: Snowflake?, + val name: String?, + val roles: Optional> = Optional.Missing(), + val user: Optional = Optional.Missing(), + @SerialName("require_colons") + val requireColons: OptionalBoolean = OptionalBoolean.Missing, + val managed: OptionalBoolean = OptionalBoolean.Missing, + val animated: OptionalBoolean = OptionalBoolean.Missing, + val available: OptionalBoolean = OptionalBoolean.Missing, ) @Serializable data class DiscordUpdatedEmojis( - @SerialName("guild_id") - val guildId: Snowflake, - val emojis: List, + @SerialName("guild_id") + val guildId: Snowflake, + val emojis: List, ) @@ -47,7 +47,7 @@ data class DiscordUpdatedEmojis( */ @Serializable data class DiscordPartialEmoji( - val id: Snowflake?, - val name: String?, - val animated: OptionalBoolean = OptionalBoolean.Missing, + val id: Snowflake?, + val name: String?, + val animated: OptionalBoolean = OptionalBoolean.Missing, ) \ No newline at end of file diff --git a/common/src/main/kotlin/entity/DiscordGuild.kt b/common/src/main/kotlin/entity/DiscordGuild.kt index 205a7bb4f42..7893fdfba28 100644 --- a/common/src/main/kotlin/entity/DiscordGuild.kt +++ b/common/src/main/kotlin/entity/DiscordGuild.kt @@ -151,7 +151,7 @@ data class DiscordGuild( @SerialName("approximate_presence_count") val approximatePresenceCount: OptionalInt = OptionalInt.Missing, -) + ) /** * A partial representation of a [Discord Guild structure](https://discord.com/developers/docs/resources/guild#guild-object diff --git a/common/src/main/kotlin/entity/DiscordGuildPreview.kt b/common/src/main/kotlin/entity/DiscordGuildPreview.kt index 74aef9668f4..0bf531f3944 100644 --- a/common/src/main/kotlin/entity/DiscordGuildPreview.kt +++ b/common/src/main/kotlin/entity/DiscordGuildPreview.kt @@ -5,17 +5,17 @@ import kotlinx.serialization.Serializable @Serializable data class DiscordGuildPreview( - val id: Snowflake, - val name: String, - val icon: String?, - val splash: String?, - @SerialName("discovery_splash") - val discoverySplash: String?, - val emojis: List, - val features: List, - @SerialName("approximate_member_count") - val approximateMemberCount: Int, - @SerialName("approximate_presence_count") - val approximatePresenceCount: Int, - val description: String? + val id: Snowflake, + val name: String, + val icon: String?, + val splash: String?, + @SerialName("discovery_splash") + val discoverySplash: String?, + val emojis: List, + val features: List, + @SerialName("approximate_member_count") + val approximateMemberCount: Int, + @SerialName("approximate_presence_count") + val approximatePresenceCount: Int, + val description: String? ) diff --git a/common/src/main/kotlin/entity/DiscordGuildWidget.kt b/common/src/main/kotlin/entity/DiscordGuildWidget.kt index d7cab51ef78..1ec27285677 100644 --- a/common/src/main/kotlin/entity/DiscordGuildWidget.kt +++ b/common/src/main/kotlin/entity/DiscordGuildWidget.kt @@ -5,7 +5,7 @@ import kotlinx.serialization.Serializable @Serializable data class DiscordGuildWidget( - val enabled: Boolean, - @SerialName("channel_id") - val channelId: Snowflake? + val enabled: Boolean, + @SerialName("channel_id") + val channelId: Snowflake? ) \ No newline at end of file diff --git a/common/src/main/kotlin/entity/DiscordIntegration.kt b/common/src/main/kotlin/entity/DiscordIntegration.kt index 9d60f91f263..1c781001df1 100644 --- a/common/src/main/kotlin/entity/DiscordIntegration.kt +++ b/common/src/main/kotlin/entity/DiscordIntegration.kt @@ -13,44 +13,44 @@ import kotlinx.serialization.encoding.Encoder @Serializable data class DiscordIntegration( - val id: Snowflake, - val name: String, - val type: String, - val enabled: Boolean, - val syncing: Boolean, - @SerialName("role_id") - val roleId: Snowflake, - @SerialName("enable_emoticons") - val enableEmoticons: OptionalBoolean = OptionalBoolean.Missing, - @SerialName("expire_behavior") - val expireBehavior: IntegrationExpireBehavior, - @SerialName("expire_grace_period") - val expireGracePeriod: Int, - val user: DiscordUser, - val account: DiscordIntegrationsAccount, - @SerialName("synced_at") - val syncedAt: String, - val subscriberCount: Int, - val revoked: Boolean, - val application: IntegrationApplication + val id: Snowflake, + val name: String, + val type: String, + val enabled: Boolean, + val syncing: Boolean, + @SerialName("role_id") + val roleId: Snowflake, + @SerialName("enable_emoticons") + val enableEmoticons: OptionalBoolean = OptionalBoolean.Missing, + @SerialName("expire_behavior") + val expireBehavior: IntegrationExpireBehavior, + @SerialName("expire_grace_period") + val expireGracePeriod: Int, + val user: DiscordUser, + val account: DiscordIntegrationsAccount, + @SerialName("synced_at") + val syncedAt: String, + val subscriberCount: Int, + val revoked: Boolean, + val application: IntegrationApplication ) @Serializable data class DiscordPartialIntegration( - val id: Snowflake, - val name: String, - val type: String, - val account: DiscordIntegrationsAccount, - ) + val id: Snowflake, + val name: String, + val type: String, + val account: DiscordIntegrationsAccount, +) @Serializable data class IntegrationApplication( - val id: Snowflake, - val name: String, - val icon: String?, - val description: String, - val summary: String, - val bot: Optional + val id: Snowflake, + val name: String, + val icon: String?, + val description: String, + val summary: String, + val bot: Optional ) @Serializable(with = IntegrationExpireBehavior.Serializer::class) @@ -63,7 +63,7 @@ sealed class IntegrationExpireBehavior(val value: Int) { override val descriptor: SerialDescriptor get() = PrimitiveSerialDescriptor("expire_behavior", PrimitiveKind.INT) - override fun deserialize(decoder: Decoder): IntegrationExpireBehavior = when(val value = decoder.decodeInt()) { + override fun deserialize(decoder: Decoder): IntegrationExpireBehavior = when (val value = decoder.decodeInt()) { 0 -> RemoveRole 1 -> Kick else -> Unknown(value) @@ -78,6 +78,6 @@ sealed class IntegrationExpireBehavior(val value: Int) { @Serializable data class DiscordIntegrationsAccount( - val id: String, - val name: String + val id: String, + val name: String ) \ No newline at end of file diff --git a/common/src/main/kotlin/entity/DiscordInvite.kt b/common/src/main/kotlin/entity/DiscordInvite.kt index 543a22d2d7b..80efe57c637 100644 --- a/common/src/main/kotlin/entity/DiscordInvite.kt +++ b/common/src/main/kotlin/entity/DiscordInvite.kt @@ -7,39 +7,39 @@ import kotlinx.serialization.Serializable @Serializable data class DiscordInvite( - val code: String, - val guild: Optional = Optional.Missing(), - val channel: DiscordChannel, - val inviter: Optional = Optional.Missing(), - @SerialName("target_user") - val targetUser: Optional = Optional.Missing(), - @SerialName("target_user_type") - val targetUserType: Optional = Optional.Missing(), - @SerialName("approximate_presence_count") - val approximatePresenceCount: OptionalInt = OptionalInt.Missing, - @SerialName("approximate_member_count") - val approximateMemberCount: OptionalInt = OptionalInt.Missing, + val code: String, + val guild: Optional = Optional.Missing(), + val channel: DiscordChannel, + val inviter: Optional = Optional.Missing(), + @SerialName("target_user") + val targetUser: Optional = Optional.Missing(), + @SerialName("target_user_type") + val targetUserType: Optional = Optional.Missing(), + @SerialName("approximate_presence_count") + val approximatePresenceCount: OptionalInt = OptionalInt.Missing, + @SerialName("approximate_member_count") + val approximateMemberCount: OptionalInt = OptionalInt.Missing, ) @Serializable data class DiscordPartialInvite( - /* - Do not trust the docs: - 2020-11-06 This is actually never null, the endpoint(Get Guild Vanity URL) returns - a HTTP 4xx instead when the guild has no vanity url. - */ - val code: String?, - val uses: Int + /* + Do not trust the docs: + 2020-11-06 This is actually never null, the endpoint(Get Guild Vanity URL) returns + a HTTP 4xx instead when the guild has no vanity url. + */ + val code: String?, + val uses: Int ) @Serializable data class DiscordInviteMetadata( - val uses: Int, - @SerialName("max_uses") - val maxUses: Int, - @SerialName("max_age") - val maxAge: Int, - val temporary: Boolean, - @SerialName("created_at") - val createdAt: String, + val uses: Int, + @SerialName("max_uses") + val maxUses: Int, + @SerialName("max_age") + val maxAge: Int, + val temporary: Boolean, + @SerialName("created_at") + val createdAt: String, ) \ No newline at end of file diff --git a/common/src/main/kotlin/entity/DiscordMessage.kt b/common/src/main/kotlin/entity/DiscordMessage.kt index d0b8aad8bbc..a802889e7c8 100644 --- a/common/src/main/kotlin/entity/DiscordMessage.kt +++ b/common/src/main/kotlin/entity/DiscordMessage.kt @@ -64,41 +64,41 @@ import kotlin.contracts.contract */ @Serializable data class DiscordMessage( - val id: Snowflake, - @SerialName("channel_id") - val channelId: Snowflake, - @SerialName("guild_id") - val guildId: OptionalSnowflake = OptionalSnowflake.Missing, - val author: DiscordUser, - val member: Optional = Optional.Missing(), - val content: String, - val timestamp: String, - @SerialName("edited_timestamp") - val editedTimestamp: String?, - val tts: Boolean, - @SerialName("mention_everyone") - val mentionEveryone: Boolean, - val mentions: List, - @SerialName("mention_roles") - val mentionRoles: List, - @SerialName("mention_channels") - val mentionedChannels: Optional> = Optional.Missing(), - val attachments: List, - val embeds: List, - val reactions: Optional> = Optional.Missing(), - val nonce: Optional = Optional.Missing(), - val pinned: Boolean, - @SerialName("webhook_id") - val webhookId: OptionalSnowflake = OptionalSnowflake.Missing, - val type: MessageType, - val activity: Optional = Optional.Missing(), - val application: Optional = Optional.Missing(), - @SerialName("message_reference") - val messageReference: Optional = Optional.Missing(), - val flags: Optional = Optional.Missing(), - val stickers: Optional> = Optional.Missing(), - @SerialName("referenced_message") - val referencedMessage: Optional = Optional.Missing(), + val id: Snowflake, + @SerialName("channel_id") + val channelId: Snowflake, + @SerialName("guild_id") + val guildId: OptionalSnowflake = OptionalSnowflake.Missing, + val author: DiscordUser, + val member: Optional = Optional.Missing(), + val content: String, + val timestamp: String, + @SerialName("edited_timestamp") + val editedTimestamp: String?, + val tts: Boolean, + @SerialName("mention_everyone") + val mentionEveryone: Boolean, + val mentions: List, + @SerialName("mention_roles") + val mentionRoles: List, + @SerialName("mention_channels") + val mentionedChannels: Optional> = Optional.Missing(), + val attachments: List, + val embeds: List, + val reactions: Optional> = Optional.Missing(), + val nonce: Optional = Optional.Missing(), + val pinned: Boolean, + @SerialName("webhook_id") + val webhookId: OptionalSnowflake = OptionalSnowflake.Missing, + val type: MessageType, + val activity: Optional = Optional.Missing(), + val application: Optional = Optional.Missing(), + @SerialName("message_reference") + val messageReference: Optional = Optional.Missing(), + val flags: Optional = Optional.Missing(), + val stickers: Optional> = Optional.Missing(), + @SerialName("referenced_message") + val referencedMessage: Optional = Optional.Missing(), ) /** @@ -113,18 +113,18 @@ data class DiscordMessage( */ @Serializable data class DiscordMessageSticker( - val id: Snowflake, - @SerialName("pack_id") - val packId: Snowflake, - val name: String, - val description: String, - val tags: Optional = Optional.Missing(), - val asset: String, - @SerialName("preview_asset") - // https://github.com/kordlib/kord/issues/207 - val previewAsset: Optional = Optional.Missing(), - @SerialName("format_type") - val formatType: MessageStickerType, + val id: Snowflake, + @SerialName("pack_id") + val packId: Snowflake, + val name: String, + val description: String, + val tags: Optional = Optional.Missing(), + val asset: String, + @SerialName("preview_asset") + // https://github.com/kordlib/kord/issues/207 + val previewAsset: Optional = Optional.Missing(), + @SerialName("format_type") + val formatType: MessageStickerType, ) @Serializable(with = MessageStickerType.Serializer::class) @@ -204,53 +204,53 @@ sealed class MessageStickerType(val value: Int) { */ @Serializable data class DiscordPartialMessage( - val id: Snowflake, - @SerialName("channel_id") - val channelId: Snowflake, - @SerialName("guild_id") - val guildId: OptionalSnowflake = OptionalSnowflake.Missing, - val author: Optional = Optional.Missing(), - val member: Optional = Optional.Missing(), - val content: Optional = Optional.Missing(), - val timestamp: Optional = Optional.Missing(), - @SerialName("edited_timestamp") - val editedTimestamp: Optional = Optional.Missing(), - val tts: OptionalBoolean = OptionalBoolean.Missing, - @SerialName("mention_everyone") - val mentionEveryone: OptionalBoolean = OptionalBoolean.Missing, - val mentions: Optional> = Optional.Missing(), - @SerialName("mention_roles") - val mentionRoles: Optional> = Optional.Missing(), - @SerialName("mention_channels") - val mentionedChannels: Optional> = Optional.Missing(), - val attachments: Optional> = Optional.Missing(), - val embeds: Optional> = Optional.Missing(), - val reactions: Optional> = Optional.Missing(), - val nonce: Optional = Optional.Missing(), - val pinned: OptionalBoolean = OptionalBoolean.Missing, - @SerialName("webhook_id") - val webhookId: OptionalSnowflake = OptionalSnowflake.Missing, - val type: Optional = Optional.Missing(), - val activity: Optional = Optional.Missing(), - val application: Optional = Optional.Missing(), - @SerialName("message_reference") - val messageReference: Optional = Optional.Missing(), - val flags: Optional = Optional.Missing(), - val stickers: Optional> = Optional.Missing(), - @SerialName("referenced_message") - val referencedMessage: Optional = Optional.Missing(), + val id: Snowflake, + @SerialName("channel_id") + val channelId: Snowflake, + @SerialName("guild_id") + val guildId: OptionalSnowflake = OptionalSnowflake.Missing, + val author: Optional = Optional.Missing(), + val member: Optional = Optional.Missing(), + val content: Optional = Optional.Missing(), + val timestamp: Optional = Optional.Missing(), + @SerialName("edited_timestamp") + val editedTimestamp: Optional = Optional.Missing(), + val tts: OptionalBoolean = OptionalBoolean.Missing, + @SerialName("mention_everyone") + val mentionEveryone: OptionalBoolean = OptionalBoolean.Missing, + val mentions: Optional> = Optional.Missing(), + @SerialName("mention_roles") + val mentionRoles: Optional> = Optional.Missing(), + @SerialName("mention_channels") + val mentionedChannels: Optional> = Optional.Missing(), + val attachments: Optional> = Optional.Missing(), + val embeds: Optional> = Optional.Missing(), + val reactions: Optional> = Optional.Missing(), + val nonce: Optional = Optional.Missing(), + val pinned: OptionalBoolean = OptionalBoolean.Missing, + @SerialName("webhook_id") + val webhookId: OptionalSnowflake = OptionalSnowflake.Missing, + val type: Optional = Optional.Missing(), + val activity: Optional = Optional.Missing(), + val application: Optional = Optional.Missing(), + @SerialName("message_reference") + val messageReference: Optional = Optional.Missing(), + val flags: Optional = Optional.Missing(), + val stickers: Optional> = Optional.Missing(), + @SerialName("referenced_message") + val referencedMessage: Optional = Optional.Missing(), ) @Serializable data class DiscordMessageReference( - @SerialName("message_id") - val id: OptionalSnowflake = OptionalSnowflake.Missing, - @SerialName("channel_id") - val channelId: OptionalSnowflake = OptionalSnowflake.Missing, - @SerialName("guild_id") - val guildId: OptionalSnowflake = OptionalSnowflake.Missing, - @SerialName("fail_if_not_exists") - val failIfNotExists: OptionalBoolean = OptionalBoolean.Missing + @SerialName("message_id") + val id: OptionalSnowflake = OptionalSnowflake.Missing, + @SerialName("channel_id") + val channelId: OptionalSnowflake = OptionalSnowflake.Missing, + @SerialName("guild_id") + val guildId: OptionalSnowflake = OptionalSnowflake.Missing, + @SerialName("fail_if_not_exists") + val failIfNotExists: OptionalBoolean = OptionalBoolean.Missing ) /** @@ -263,11 +263,11 @@ data class DiscordMessageReference( */ @Serializable data class DiscordMentionedChannel( - val id: Snowflake, - @SerialName("guild_id") - val guildId: Snowflake, - val type: ChannelType, - val name: String, + val id: Snowflake, + @SerialName("guild_id") + val guildId: Snowflake, + val type: ChannelType, + val name: String, ) enum class MessageFlag(val code: Int) { @@ -356,26 +356,26 @@ class MessageFlags internal constructor(val code: Int) { } @OptIn(ExperimentalContracts::class) -inline fun MessageFlags(builder: MessageFlags.Builder.() -> Unit): MessageFlags { +inline fun MessageFlags(builder: MessageFlags.Builder.() -> Unit): MessageFlags { contract { callsInPlace(builder, InvocationKind.EXACTLY_ONCE) } return MessageFlags.Builder().apply(builder).flags() } - fun MessageFlags(vararg flags: MessageFlag) = MessageFlags { +fun MessageFlags(vararg flags: MessageFlag) = MessageFlags { flags.forEach { +it } } - fun MessageFlags(vararg flags: MessageFlags) = MessageFlags { +fun MessageFlags(vararg flags: MessageFlags) = MessageFlags { flags.forEach { +it } } - fun MessageFlags(flags: Iterable) = MessageFlags { +fun MessageFlags(flags: Iterable) = MessageFlags { flags.forEach { +it } } @JvmName("MessageFlagsWithIterable") - fun MessageFlags(flags: Iterable) = MessageFlags { +fun MessageFlags(flags: Iterable) = MessageFlags { flags.forEach { +it } } @@ -393,22 +393,22 @@ inline fun MessageFlags(builder: MessageFlags.Builder.() -> Unit): MessageFlags */ @Serializable data class DiscordAttachment( - val id: Snowflake, - val filename: String, - val size: Int, - val url: String, - @SerialName("proxy_url") - val proxyUrl: String, - /* - Do not trust the docs: - 2020-11-06 This field is marked as nullable but can be missing instead. - */ - val height: OptionalInt? = OptionalInt.Missing, - /* - Do not trust the docs: - 2020-11-06 This field is marked as nullable but can be missing instead. - */ - val width: OptionalInt? = OptionalInt.Missing, + val id: Snowflake, + val filename: String, + val size: Int, + val url: String, + @SerialName("proxy_url") + val proxyUrl: String, + /* + Do not trust the docs: + 2020-11-06 This field is marked as nullable but can be missing instead. + */ + val height: OptionalInt? = OptionalInt.Missing, + /* + Do not trust the docs: + 2020-11-06 This field is marked as nullable but can be missing instead. + */ + val width: OptionalInt? = OptionalInt.Missing, ) /** @@ -430,20 +430,20 @@ data class DiscordAttachment( */ @Serializable data class DiscordEmbed( - val title: Optional = Optional.Missing(), - @Suppress("DEPRECATION") - val type: Optional = Optional.Missing(), - val description: Optional = Optional.Missing(), - val url: Optional = Optional.Missing(), - val timestamp: Optional = Optional.Missing(), - val color: OptionalInt = OptionalInt.Missing, - val footer: Optional