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

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

package dev.kord.rest.json.request

import dev.kord.common.Color
import dev.kord.common.entity.*
import dev.kord.common.entity.optional.Optional
import dev.kord.common.entity.optional.OptionalBoolean
import dev.kord.rest.NamedFile
import kotlinx.datetime.Instant
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
public data class MessageCreateRequest(
    val content: Optional = Optional.Missing(),
    val nonce: Optional = Optional.Missing(),
    val tts: OptionalBoolean = OptionalBoolean.Missing,
    val embeds: Optional> = Optional.Missing(),
    @SerialName("allowed_mentions")
    val allowedMentions: Optional = Optional.Missing(),
    @SerialName("message_reference")
    val messageReference: Optional = Optional.Missing(),
    val components: Optional> = Optional.Missing(),
    @SerialName("sticker_ids")
    val stickerIds: Optional> = Optional.Missing(),
    val attachments: Optional> = Optional.Missing(),
    val flags: Optional = Optional.Missing()
)

public data class MultipartMessageCreateRequest(
    val request: MessageCreateRequest,
    val files: List = emptyList(),
)

@Serializable
public data class EmbedRequest(
    val title: Optional = Optional.Missing(),
    val type: Optional = Optional.Missing(),
    val description: Optional = Optional.Missing(),
    val url: Optional = Optional.Missing(),
    val timestamp: Optional = Optional.Missing(),
    val color: Optional = Optional.Missing(),
    val footer: Optional = Optional.Missing(),
    val image: Optional = Optional.Missing(),
    val thumbnail: Optional = Optional.Missing(),
    val author: Optional = Optional.Missing(),
    val fields: Optional> = Optional.Missing(),
)

@Serializable
public data class EmbedFooterRequest(
    val text: String,
    @SerialName("icon_url")
    val iconUrl: String? = null,
)

@Serializable
public data class EmbedImageRequest(val url: String)

@Serializable
public data class EmbedThumbnailRequest(val url: String)

@Serializable
public data class EmbedAuthorRequest(
    val name: Optional = Optional.Missing(),
    val url: Optional = Optional.Missing(),
    @SerialName("icon_url")
    val iconUrl: Optional = Optional.Missing(),
)

@Serializable
public data class EmbedFieldRequest(
    val name: String,
    val value: String,
    val inline: OptionalBoolean = OptionalBoolean.Missing,
)

@Serializable
public data class AttachmentRequest(
    val id: Snowflake,
    val filename: Optional = Optional.Missing(),
    val description: Optional = Optional.Missing(),
)

@Serializable
public data class MessageEditPatchRequest(
    val content: Optional = Optional.Missing(),
    val embeds: Optional?> = Optional.Missing(),
    val flags: Optional = Optional.Missing(),
    @SerialName("allowed_mentions")
    val allowedMentions: Optional = Optional.Missing(),
    val components: Optional?> = Optional.Missing(),
    val attachments: Optional?> = Optional.Missing(),
)

public data class MultipartMessagePatchRequest(
    val requests: MessageEditPatchRequest,
    val files: List = emptyList(),
)

@Serializable
public data class BulkDeleteRequest(val messages: List)

@Serializable
public data class ForumThreadMessageRequest(
    val content: Optional = Optional.Missing(),
    val tts: OptionalBoolean = OptionalBoolean.Missing,
    val embeds: Optional> = Optional.Missing(),
    @SerialName("allowed_mentions")
    val allowedMentions: Optional = Optional.Missing(),
    val components: Optional> = Optional.Missing(),
    @SerialName("sticker_ids")
    val stickerIds: Optional> = Optional.Missing(),
    val attachments: Optional> = Optional.Missing(),
    val flags: Optional = Optional.Missing()
)

public data class MultipartForumThreadMessageCreateRequest(
    val request: ForumThreadMessageRequest,
    val files: List = emptyList(),
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy