mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-06-03 00:15:27 +00:00
32 lines
1.0 KiB
Kotlin
32 lines
1.0 KiB
Kotlin
package dev.inmo.tgbotapi.requests.chat.invite_links
|
|
|
|
import com.soywiz.klock.*
|
|
import dev.inmo.tgbotapi.requests.chat.abstracts.EditChatInviteLinkRequest
|
|
import dev.inmo.tgbotapi.types.*
|
|
import kotlinx.serialization.*
|
|
|
|
@Serializable
|
|
data class CreateChatInviteLink(
|
|
@SerialName(chatIdField)
|
|
override val chatId: ChatId,
|
|
@SerialName(expireDateField)
|
|
private val expirationUnixTimeStamp: UnixTimeStamp? = null,
|
|
@SerialName(memberLimitField)
|
|
override val membersLimit: MembersLimit? = null
|
|
) : EditChatInviteLinkRequest {
|
|
override val expireDate: DateTime?
|
|
get() = expirationUnixTimeStamp ?.seconds ?.let { DateTime(it.milliseconds) }
|
|
override val requestSerializer: SerializationStrategy<*>
|
|
get() = serializer()
|
|
|
|
override fun method(): String = "createChatInviteLink"
|
|
}
|
|
|
|
fun CreateChatInviteLink(
|
|
chatId: ChatId,
|
|
expireDate: DateTime,
|
|
membersLimit: MembersLimit? = null
|
|
): CreateChatInviteLink = CreateChatInviteLink(
|
|
chatId, expireDate.unixMillisDouble.milliseconds.seconds.toLong(), membersLimit
|
|
)
|