mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-26 03:58:44 +00:00
fill api of chat invite links
This commit is contained in:
parent
36202133a1
commit
65cba0f014
@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.types.*
|
|||||||
import kotlinx.serialization.DeserializationStrategy
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
|
||||||
interface ChatInviteLinkRequest : SimpleRequest<CommonInviteLink> {
|
interface ChatInviteLinkRequest : SimpleRequest<CommonInviteLink> {
|
||||||
val chatId: ChatId
|
val chatId: ChatIdentifier
|
||||||
|
|
||||||
override val resultDeserializer: DeserializationStrategy<CommonInviteLink>
|
override val resultDeserializer: DeserializationStrategy<CommonInviteLink>
|
||||||
get() = CommonInviteLink.serializer()
|
get() = CommonInviteLink.serializer()
|
||||||
|
@ -8,14 +8,14 @@ import kotlinx.serialization.*
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class CreateChatInviteLink(
|
data class CreateChatInviteLink(
|
||||||
@SerialName(chatIdField)
|
@SerialName(chatIdField)
|
||||||
override val chatId: ChatId,
|
override val chatId: ChatIdentifier,
|
||||||
@SerialName(expireDateField)
|
@SerialName(expireDateField)
|
||||||
private val expirationUnixTimeStamp: UnixTimeStamp? = null,
|
private val expirationUnixTimeStamp: TelegramDate? = null,
|
||||||
@SerialName(memberLimitField)
|
@SerialName(memberLimitField)
|
||||||
override val membersLimit: MembersLimit? = null
|
override val membersLimit: MembersLimit? = null
|
||||||
) : EditChatInviteLinkRequest {
|
) : EditChatInviteLinkRequest {
|
||||||
override val expireDate: DateTime?
|
override val expireDate: DateTime?
|
||||||
get() = expirationUnixTimeStamp ?.seconds ?.let { DateTime(it.milliseconds) }
|
get() = expirationUnixTimeStamp ?.asDate
|
||||||
override val requestSerializer: SerializationStrategy<*>
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
get() = serializer()
|
get() = serializer()
|
||||||
|
|
||||||
@ -27,5 +27,5 @@ fun CreateChatInviteLink(
|
|||||||
expireDate: DateTime,
|
expireDate: DateTime,
|
||||||
membersLimit: MembersLimit? = null
|
membersLimit: MembersLimit? = null
|
||||||
): CreateChatInviteLink = CreateChatInviteLink(
|
): CreateChatInviteLink = CreateChatInviteLink(
|
||||||
chatId, expireDate.unixMillisDouble.milliseconds.seconds.toLong(), membersLimit
|
chatId, expireDate.toTelegramDate(), membersLimit
|
||||||
)
|
)
|
||||||
|
@ -9,16 +9,16 @@ import kotlinx.serialization.*
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class EditChatInviteLink(
|
data class EditChatInviteLink(
|
||||||
@SerialName(chatIdField)
|
@SerialName(chatIdField)
|
||||||
override val chatId: ChatId,
|
override val chatId: ChatIdentifier,
|
||||||
@SerialName(inviteLinkField)
|
@SerialName(inviteLinkField)
|
||||||
override val inviteLink: String,
|
override val inviteLink: String,
|
||||||
@SerialName(expireDateField)
|
@SerialName(expireDateField)
|
||||||
private val expirationUnixTimeStamp: UnixTimeStamp? = null,
|
private val expirationUnixTimeStamp: TelegramDate? = null,
|
||||||
@SerialName(memberLimitField)
|
@SerialName(memberLimitField)
|
||||||
override val membersLimit: MembersLimit? = null
|
override val membersLimit: MembersLimit? = null
|
||||||
) : EditChatInviteLinkRequest, KnownChatInviteLinkRequest {
|
) : EditChatInviteLinkRequest, KnownChatInviteLinkRequest {
|
||||||
override val expireDate: DateTime?
|
override val expireDate: DateTime?
|
||||||
get() = expirationUnixTimeStamp ?.seconds ?.let { DateTime(it.milliseconds) }
|
get() = expirationUnixTimeStamp ?.asDate
|
||||||
override val requestSerializer: SerializationStrategy<*>
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
get() = serializer()
|
get() = serializer()
|
||||||
|
|
||||||
@ -26,10 +26,10 @@ data class EditChatInviteLink(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun EditChatInviteLink(
|
fun EditChatInviteLink(
|
||||||
chatId: ChatId,
|
chatId: ChatIdentifier,
|
||||||
inviteLink: String,
|
inviteLink: String,
|
||||||
expireDate: DateTime,
|
expireDate: DateTime,
|
||||||
membersLimit: MembersLimit? = null
|
membersLimit: MembersLimit? = null
|
||||||
): EditChatInviteLink = EditChatInviteLink(
|
): EditChatInviteLink = EditChatInviteLink(
|
||||||
chatId, inviteLink, expireDate.unixMillisDouble.milliseconds.seconds.toLong(), membersLimit
|
chatId, inviteLink, expireDate.toTelegramDate(), membersLimit
|
||||||
)
|
)
|
||||||
|
@ -9,7 +9,7 @@ import kotlinx.serialization.*
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class RevokeChatInviteLink(
|
data class RevokeChatInviteLink(
|
||||||
@SerialName(chatIdField)
|
@SerialName(chatIdField)
|
||||||
override val chatId: ChatId,
|
override val chatId: ChatIdentifier,
|
||||||
@SerialName(inviteLinkField)
|
@SerialName(inviteLinkField)
|
||||||
override val inviteLink: String
|
override val inviteLink: String
|
||||||
) : KnownChatInviteLinkRequest {
|
) : KnownChatInviteLinkRequest {
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.chat.invite_links
|
||||||
|
|
||||||
|
import com.soywiz.klock.DateTime
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.chat.invite_links.CreateChatInviteLink
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.chat.abstracts.PublicChat
|
||||||
|
|
||||||
|
suspend fun TelegramBot.createChatInviteLink(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
expiration: TelegramDate? = null,
|
||||||
|
membersLimit: MembersLimit? = null
|
||||||
|
) = execute(CreateChatInviteLink(chatId, expiration, membersLimit))
|
||||||
|
|
||||||
|
suspend fun TelegramBot.createChatInviteLink(
|
||||||
|
chat: PublicChat,
|
||||||
|
expiration: TelegramDate? = null,
|
||||||
|
membersLimit: MembersLimit? = null
|
||||||
|
) = createChatInviteLink(chat.id, expiration, membersLimit)
|
||||||
|
|
||||||
|
suspend fun TelegramBot.createChatInviteLink(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
expiration: DateTime,
|
||||||
|
membersLimit: MembersLimit? = null
|
||||||
|
) = createChatInviteLink(chatId, expiration.toTelegramDate(), membersLimit)
|
||||||
|
|
||||||
|
suspend fun TelegramBot.createChatInviteLink(
|
||||||
|
chat: PublicChat,
|
||||||
|
expiration: DateTime,
|
||||||
|
membersLimit: MembersLimit? = null
|
||||||
|
) = createChatInviteLink(chat.id, expiration.toTelegramDate(), membersLimit)
|
@ -0,0 +1,64 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.chat.invite_links
|
||||||
|
|
||||||
|
import com.soywiz.klock.DateTime
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.chat.invite_links.CreateChatInviteLink
|
||||||
|
import dev.inmo.tgbotapi.requests.chat.invite_links.EditChatInviteLink
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.chat.abstracts.PublicChat
|
||||||
|
|
||||||
|
suspend fun TelegramBot.editChatInviteLink(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
previousLink: String,
|
||||||
|
expiration: TelegramDate? = null,
|
||||||
|
membersLimit: MembersLimit? = null
|
||||||
|
) = execute(EditChatInviteLink(chatId, previousLink, expiration, membersLimit))
|
||||||
|
|
||||||
|
suspend fun TelegramBot.editChatInviteLink(
|
||||||
|
chat: PublicChat,
|
||||||
|
previousLink: String,
|
||||||
|
expiration: TelegramDate? = null,
|
||||||
|
membersLimit: MembersLimit? = null
|
||||||
|
) = editChatInviteLink(chat.id, previousLink, expiration, membersLimit)
|
||||||
|
|
||||||
|
suspend fun TelegramBot.editChatInviteLink(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
previousLink: String,
|
||||||
|
expiration: DateTime,
|
||||||
|
membersLimit: MembersLimit? = null
|
||||||
|
) = editChatInviteLink(chatId, previousLink, expiration.toTelegramDate(), membersLimit)
|
||||||
|
|
||||||
|
suspend fun TelegramBot.editChatInviteLink(
|
||||||
|
chat: PublicChat,
|
||||||
|
previousLink: String,
|
||||||
|
expiration: DateTime,
|
||||||
|
membersLimit: MembersLimit? = null
|
||||||
|
) = editChatInviteLink(chat.id, previousLink, expiration.toTelegramDate(), membersLimit)
|
||||||
|
|
||||||
|
suspend fun TelegramBot.editChatInviteLink(
|
||||||
|
chat: ChatIdentifier,
|
||||||
|
previousLink: ChatInviteLink,
|
||||||
|
expiration: TelegramDate? = previousLink.expirationDateTime ?.toTelegramDate(),
|
||||||
|
membersLimit: MembersLimit? = previousLink.membersLimit
|
||||||
|
) = editChatInviteLink(chat, previousLink.inviteLink, expiration, membersLimit)
|
||||||
|
|
||||||
|
suspend fun TelegramBot.editChatInviteLink(
|
||||||
|
chat: ChatIdentifier,
|
||||||
|
previousLink: ChatInviteLink,
|
||||||
|
expiration: DateTime,
|
||||||
|
membersLimit: MembersLimit? = previousLink.membersLimit
|
||||||
|
) = editChatInviteLink(chat, previousLink.inviteLink, expiration, membersLimit)
|
||||||
|
|
||||||
|
suspend fun TelegramBot.editChatInviteLink(
|
||||||
|
chat: PublicChat,
|
||||||
|
previousLink: ChatInviteLink,
|
||||||
|
expiration: TelegramDate? = previousLink.expirationDateTime ?.toTelegramDate(),
|
||||||
|
membersLimit: MembersLimit? = previousLink.membersLimit
|
||||||
|
) = editChatInviteLink(chat, previousLink.inviteLink, expiration, membersLimit)
|
||||||
|
|
||||||
|
suspend fun TelegramBot.editChatInviteLink(
|
||||||
|
chat: PublicChat,
|
||||||
|
previousLink: ChatInviteLink,
|
||||||
|
expiration: DateTime,
|
||||||
|
membersLimit: MembersLimit? = previousLink.membersLimit
|
||||||
|
) = editChatInviteLink(chat, previousLink.inviteLink, expiration, membersLimit)
|
@ -0,0 +1,27 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.chat.invite_links
|
||||||
|
|
||||||
|
import com.soywiz.klock.DateTime
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.chat.invite_links.*
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.chat.abstracts.PublicChat
|
||||||
|
|
||||||
|
suspend fun TelegramBot.revokeChatInviteLink(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
previousLink: String
|
||||||
|
) = execute(RevokeChatInviteLink(chatId, previousLink))
|
||||||
|
|
||||||
|
suspend fun TelegramBot.revokeChatInviteLink(
|
||||||
|
chat: PublicChat,
|
||||||
|
previousLink: String
|
||||||
|
) = revokeChatInviteLink(chat.id, previousLink)
|
||||||
|
|
||||||
|
suspend fun TelegramBot.revokeChatInviteLink(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
previousLink: ChatInviteLink
|
||||||
|
) = revokeChatInviteLink(chatId, previousLink.inviteLink)
|
||||||
|
|
||||||
|
suspend fun TelegramBot.revokeChatInviteLink(
|
||||||
|
chat: PublicChat,
|
||||||
|
previousLink: ChatInviteLink
|
||||||
|
) = revokeChatInviteLink(chat, previousLink.inviteLink)
|
Loading…
Reference in New Issue
Block a user