All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.json.request.ChannelRequests.kt Maven / Gradle / Ivy

package dev.kord.rest.json.request

import dev.kord.common.entity.*
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.serialization.DurationInSeconds
import dev.kord.rest.NamedFile
import kotlinx.datetime.Instant
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
public data class ChannelModifyPutRequest(
    val name: String,
    val position: Int,
    val topic: String? = null,
    val nsfw: Boolean? = null,
    @SerialName("rate_limit_per_user")
    val rateLimitPerUser: Int? = null,
    val bitrate: Int? = null,
    @SerialName("user_limit")
    val userLimit: Int? = null,
    @SerialName("permission_overwrites")
    val permissionOverwrites: List,
    @SerialName("parent_id")
    val parentId: String? = null
)

@Serializable
public data class ChannelModifyPatchRequest(
    val name: Optional = Optional.Missing(),
    val position: OptionalInt? = OptionalInt.Missing,
    val topic: Optional = Optional.Missing(),
    val nsfw: OptionalBoolean? = OptionalBoolean.Missing,
    @SerialName("rate_limit_per_user")
    val rateLimitPerUser: Optional = Optional.Missing(),
    val bitrate: OptionalInt? = OptionalInt.Missing,
    @SerialName("user_limit")
    val userLimit: OptionalInt? = OptionalInt.Missing,
    @SerialName("permission_overwrites")
    val permissionOverwrites: Optional?> = Optional.Missing(),
    @SerialName("parent_id")
    val parentId: OptionalSnowflake? = OptionalSnowflake.Missing,
    val archived: OptionalBoolean = OptionalBoolean.Missing,
    @SerialName("auto_archive_duration")
    val autoArchiveDuration: Optional = Optional.Missing(),
    val locked: OptionalBoolean = OptionalBoolean.Missing,
    @SerialName("rtc_region")
    val rtcRegion: Optional = Optional.Missing(),
    val invitable: OptionalBoolean = OptionalBoolean.Missing,
    @SerialName("video_quality_mode")
    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
public data class ChannelPermissionEditRequest(
    val allow: Permissions,
    val deny: Permissions,
    val type: OverwriteType
)

@Serializable
public data class StartThreadRequest(
    val name: String,
    @SerialName("auto_archive_duration")
    val autoArchiveDuration: Optional = Optional.Missing(),
    val type: Optional = Optional.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: List = emptyList(),
)

public data class ListThreadsBySnowflakeRequest(
    val before: Snowflake? = null,
    val limit: Int? = null
)

public data class ListThreadsByTimestampRequest(
    val before: Instant? = null,
    val limit: Int? = null
)

@Serializable
public data class ForumTagRequest(
    val name: String,
    val moderated: OptionalBoolean = OptionalBoolean.Missing,
    @SerialName("emoji_id")
    val emojiId: Optional = Optional.Missing(),
    @SerialName("emoji_name")
    val emojiName: Optional = Optional.Missing()
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy