mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-09-15 13:19:30 +00:00
chats sealing
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.CommonAbstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
|
||||
/**
|
||||
* Inheritors of this interface have some [User] as a source of data. For example, any [dev.inmo.tgbotapi.types.queries.callback.CallbackQuery]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.CommonAbstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
|
||||
/**
|
||||
* All inheritors of this type have [User] in their data as one of the main data
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.requests.bot
|
||||
|
||||
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||
import dev.inmo.tgbotapi.types.ExtendedBot
|
||||
import dev.inmo.tgbotapi.types.chat.ExtendedBot
|
||||
import kotlinx.serialization.*
|
||||
|
||||
@Serializable
|
||||
|
@@ -4,7 +4,7 @@ import dev.inmo.tgbotapi.CommonAbstracts.types.ChatRequest
|
||||
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||
import dev.inmo.tgbotapi.types.chat.ExtendedChatSerializer
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.extended.ExtendedChat
|
||||
import dev.inmo.tgbotapi.types.chat.ExtendedChat
|
||||
import dev.inmo.tgbotapi.types.chatIdField
|
||||
import kotlinx.serialization.*
|
||||
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types
|
||||
|
||||
import dev.inmo.micro_utils.common.Warning
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.utils.RiskFeature
|
||||
import kotlinx.serialization.KSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types
|
||||
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.CommonAbstracts.WithUser
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.utils.RiskFeature
|
||||
import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||
|
@@ -8,7 +8,7 @@ import kotlinx.serialization.Serializable
|
||||
* Represents a location to which a chat is connected.
|
||||
*
|
||||
* @see dev.inmo.tgbotapi.requests.chat.get.GetChat
|
||||
* @see dev.inmo.tgbotapi.types.chat.abstracts.extended.ExtendedSupergroupChat
|
||||
* @see dev.inmo.tgbotapi.types.chat.ExtendedSupergroupChat
|
||||
*/
|
||||
@Serializable
|
||||
data class ChatLocation(
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.location.StaticLocation
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.location.StaticLocation
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.InlineQueries.query
|
||||
|
||||
import dev.inmo.tgbotapi.types.InlineQueryIdentifier
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.chat.ChatType
|
||||
|
||||
data class BaseInlineQuery(
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.InlineQueries.query
|
||||
|
||||
import dev.inmo.tgbotapi.types.InlineQueryIdentifier
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.chat.ChatType
|
||||
import dev.inmo.tgbotapi.types.location.Location
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package dev.inmo.tgbotapi.types.InlineQueries.query
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.ChatType
|
||||
import dev.inmo.tgbotapi.types.chat.ChatTypeSerializer
|
||||
import dev.inmo.tgbotapi.types.chat.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.location.Location
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.MessageEntity
|
||||
|
||||
import dev.inmo.tgbotapi.types.MessageEntity.textsources.*
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
|
@@ -1,6 +1,8 @@
|
||||
package dev.inmo.tgbotapi.types.MessageEntity.textsources
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.CommonUser
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.utils.RiskFeature
|
||||
import dev.inmo.tgbotapi.utils.extensions.makeString
|
||||
import dev.inmo.tgbotapi.utils.internal.*
|
||||
|
@@ -1,121 +1,22 @@
|
||||
package dev.inmo.tgbotapi.types
|
||||
|
||||
import dev.inmo.micro_utils.language_codes.IetfLanguageCode
|
||||
import dev.inmo.micro_utils.language_codes.IetfLanguageCodeSerializer
|
||||
import dev.inmo.tgbotapi.types.abstracts.WithOptionalLanguageCode
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.PrivateChat
|
||||
import dev.inmo.tgbotapi.types.chat.extended.ExtendedPrivateChatImpl
|
||||
import dev.inmo.tgbotapi.utils.*
|
||||
import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||
import kotlinx.serialization.encoding.Decoder
|
||||
import kotlinx.serialization.encoding.Encoder
|
||||
import kotlinx.serialization.json.*
|
||||
@Deprecated("Replaced", ReplaceWith("User", "dev.inmo.tgbotapi.types.chat.User"))
|
||||
typealias User = dev.inmo.tgbotapi.types.chat.User
|
||||
|
||||
@Serializable(UserSerializer::class)
|
||||
sealed class User : PrivateChat
|
||||
@Deprecated("Replaced", ReplaceWith("CommonUser", "dev.inmo.tgbotapi.types.chat.CommonUser"))
|
||||
typealias CommonUser = dev.inmo.tgbotapi.types.chat.CommonUser
|
||||
|
||||
@Serializable
|
||||
data class CommonUser(
|
||||
override val id: UserId,
|
||||
@SerialName(firstNameField)
|
||||
override val firstName: String,
|
||||
@SerialName(lastNameField)
|
||||
override val lastName: String = "",
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null,
|
||||
@SerialName(languageCodeField)
|
||||
@Serializable(IetfLanguageCodeSerializer::class)
|
||||
override val ietfLanguageCode: IetfLanguageCode? = null
|
||||
) : User(), WithOptionalLanguageCode {
|
||||
constructor(
|
||||
id: UserId,
|
||||
firstName: String,
|
||||
lastName: String = "",
|
||||
username: Username? = null,
|
||||
languageCode: String
|
||||
) : this(id, firstName, lastName, username, IetfLanguageCode(languageCode))
|
||||
}
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedUser", "dev.inmo.tgbotapi.types.chat.ExtendedUser"))
|
||||
typealias ExtendedUser = dev.inmo.tgbotapi.types.chat.ExtendedUser
|
||||
|
||||
@PreviewFeature
|
||||
typealias ExtendedUser = ExtendedPrivateChatImpl
|
||||
@Deprecated("Replaced", ReplaceWith("Bot", "dev.inmo.tgbotapi.types.chat.Bot"))
|
||||
typealias Bot = dev.inmo.tgbotapi.types.chat.Bot
|
||||
|
||||
@Serializable(UserSerializer::class)
|
||||
sealed class Bot : User() {
|
||||
abstract override val username: Username
|
||||
}
|
||||
@Deprecated("Replaced", ReplaceWith("CommonBot", "dev.inmo.tgbotapi.types.chat.CommonBot"))
|
||||
typealias CommonBot = dev.inmo.tgbotapi.types.chat.CommonBot
|
||||
|
||||
@Serializable
|
||||
data class CommonBot(
|
||||
override val id: UserId,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username,
|
||||
@SerialName(firstNameField)
|
||||
override val firstName: String,
|
||||
@SerialName(lastNameField)
|
||||
override val lastName: String = ""
|
||||
) : Bot() {
|
||||
@SerialName(isBotField)
|
||||
private val isBot = true
|
||||
}
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedBot", "dev.inmo.tgbotapi.types.chat.ExtendedBot"))
|
||||
typealias ExtendedBot = dev.inmo.tgbotapi.types.chat.ExtendedBot
|
||||
|
||||
@Serializable
|
||||
data class ExtendedBot(
|
||||
override val id: UserId,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username,
|
||||
@SerialName(firstNameField)
|
||||
override val firstName: String,
|
||||
@SerialName(lastNameField)
|
||||
override val lastName: String = "",
|
||||
@SerialName(canJoinGroupsField)
|
||||
val canJoinGroups: Boolean = false,
|
||||
@SerialName(canReadAllGroupMessagesField)
|
||||
val canReadAllGroupMessages: Boolean = false,
|
||||
@SerialName(supportInlineQueriesField)
|
||||
val supportsInlineQueries: Boolean = false
|
||||
) : Bot() {
|
||||
@SerialName(isBotField)
|
||||
private val isBot = true
|
||||
}
|
||||
|
||||
|
||||
@RiskFeature
|
||||
object UserSerializer : KSerializer<User> {
|
||||
private val internalSerializer = JsonObject.serializer()
|
||||
override val descriptor: SerialDescriptor = internalSerializer.descriptor
|
||||
override fun deserialize(decoder: Decoder): User {
|
||||
val asJson = internalSerializer.deserialize(decoder)
|
||||
|
||||
return when {
|
||||
asJson[isBotField] ?.jsonPrimitive ?.booleanOrNull != true -> nonstrictJsonFormat.decodeFromJsonElement(
|
||||
CommonUser.serializer(),
|
||||
asJson
|
||||
)
|
||||
else -> {
|
||||
if ((asJson[canJoinGroupsField]
|
||||
?: asJson[canReadAllGroupMessagesField]
|
||||
?: asJson[supportInlineQueriesField]) != null
|
||||
) {
|
||||
nonstrictJsonFormat.decodeFromJsonElement(
|
||||
ExtendedBot.serializer(),
|
||||
asJson
|
||||
)
|
||||
} else {
|
||||
nonstrictJsonFormat.decodeFromJsonElement(
|
||||
CommonBot.serializer(),
|
||||
asJson
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun serialize(encoder: Encoder, value: User) {
|
||||
when (value) {
|
||||
is CommonUser -> CommonUser.serializer().serialize(encoder, value)
|
||||
is CommonBot -> CommonBot.serializer().serialize(encoder, value)
|
||||
is ExtendedBot -> ExtendedBot.serializer().serialize(encoder, value)
|
||||
}
|
||||
}
|
||||
}
|
||||
@Deprecated("Replaced", ReplaceWith("UserSerializer", "dev.inmo.tgbotapi.types.chat.UserSerializer"))
|
||||
typealias UserSerializer = dev.inmo.tgbotapi.types.chat.UserSerializer
|
||||
|
@@ -0,0 +1,38 @@
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
sealed interface ChannelChat : SuperPublicChat
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
sealed interface GroupChat : PublicChat
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
sealed interface PrivateChat : Chat, UsernameChat {
|
||||
override val id: UserId
|
||||
val firstName: String
|
||||
val lastName: String
|
||||
}
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
sealed interface PublicChat : Chat {
|
||||
val title: String
|
||||
}
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
sealed interface SupergroupChat : GroupChat, SuperPublicChat
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
sealed interface SuperPublicChat : PublicChat, UsernameChat
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
sealed interface UsernameChat : Chat {
|
||||
val username: Username?
|
||||
}
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
sealed interface Chat {
|
||||
val id: ChatId
|
||||
}
|
@@ -1,16 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.ChannelChat
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class ChannelChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null
|
||||
) : ChannelChat
|
@@ -1,8 +1,8 @@
|
||||
package dev.inmo.tgbotapi.types
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.CommonAbstracts.FromUser
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.PublicChat
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,11 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.UnknownChatType
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.extended.ExtendedChat
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.extended.UnknownExtendedChat
|
||||
import dev.inmo.tgbotapi.types.chat.extended.*
|
||||
import dev.inmo.tgbotapi.utils.RiskFeature
|
||||
import dev.inmo.tgbotapi.utils.nonstrictJsonFormat
|
||||
import kotlinx.serialization.*
|
||||
@@ -119,5 +114,42 @@ object ExtendedChatSerializer : KSerializer<ExtendedChat> {
|
||||
}
|
||||
}
|
||||
|
||||
@RiskFeature
|
||||
object UserSerializer : KSerializer<User> {
|
||||
private val internalSerializer = JsonObject.serializer()
|
||||
override val descriptor: SerialDescriptor = internalSerializer.descriptor
|
||||
override fun deserialize(decoder: Decoder): User {
|
||||
val asJson = internalSerializer.deserialize(decoder)
|
||||
|
||||
return when {
|
||||
asJson[isBotField] ?.jsonPrimitive ?.booleanOrNull != true -> nonstrictJsonFormat.decodeFromJsonElement(
|
||||
CommonUser.serializer(),
|
||||
asJson
|
||||
)
|
||||
else -> {
|
||||
if ((asJson[canJoinGroupsField]
|
||||
?: asJson[canReadAllGroupMessagesField]
|
||||
?: asJson[supportInlineQueriesField]) != null
|
||||
) {
|
||||
nonstrictJsonFormat.decodeFromJsonElement(
|
||||
ExtendedBot.serializer(),
|
||||
asJson
|
||||
)
|
||||
} else {
|
||||
nonstrictJsonFormat.decodeFromJsonElement(
|
||||
CommonBot.serializer(),
|
||||
asJson
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun serialize(encoder: Encoder, value: User) {
|
||||
when (value) {
|
||||
is CommonUser -> CommonUser.serializer().serialize(encoder, value)
|
||||
is CommonBot -> CommonBot.serializer().serialize(encoder, value)
|
||||
is ExtendedBot -> ExtendedBot.serializer().serialize(encoder, value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,125 @@
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class ExtendedChannelChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null,
|
||||
@SerialName(photoField)
|
||||
override val chatPhoto: ChatPhoto? = null,
|
||||
@SerialName(descriptionField)
|
||||
override val description: String = "",
|
||||
@SerialName(inviteLinkField)
|
||||
override val inviteLink: String? = null,
|
||||
@SerialName(pinnedMessageField)
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
override val pinnedMessage: Message? = null,
|
||||
@SerialName(linkedChatIdField)
|
||||
override val linkedGroupChatId: ChatId? = null
|
||||
) : ExtendedChannelChat
|
||||
|
||||
@Serializable
|
||||
data class ExtendedGroupChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String,
|
||||
@SerialName(photoField)
|
||||
override val chatPhoto: ChatPhoto? = null,
|
||||
@SerialName(permissionsField)
|
||||
override val permissions: ChatPermissions,
|
||||
@SerialName(descriptionField)
|
||||
override val description: String = "",
|
||||
@SerialName(inviteLinkField)
|
||||
override val inviteLink: String? = null,
|
||||
@SerialName(pinnedMessageField)
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
override val pinnedMessage: Message? = null
|
||||
) : ExtendedGroupChat
|
||||
|
||||
@Serializable
|
||||
data class ExtendedPrivateChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(photoField)
|
||||
override val chatPhoto: ChatPhoto? = null,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null,
|
||||
@SerialName(firstNameField)
|
||||
override val firstName: String = "",
|
||||
@SerialName(lastNameField)
|
||||
override val lastName: String = "",
|
||||
@SerialName(bioField)
|
||||
override val bio: String = "",
|
||||
@SerialName(hasPrivateForwardsField)
|
||||
override val hasPrivateForwards: Boolean = false
|
||||
) : ExtendedPrivateChat
|
||||
|
||||
typealias ExtendedUser = ExtendedPrivateChatImpl
|
||||
|
||||
@Serializable
|
||||
data class ExtendedSupergroupChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null,
|
||||
@SerialName(photoField)
|
||||
override val chatPhoto: ChatPhoto? = null,
|
||||
@SerialName(permissionsField)
|
||||
override val permissions: ChatPermissions,
|
||||
@SerialName(descriptionField)
|
||||
override val description: String = "",
|
||||
@SerialName(inviteLinkField)
|
||||
override val inviteLink: String? = null,
|
||||
@SerialName(pinnedMessageField)
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
override val pinnedMessage: Message? = null,
|
||||
@SerialName(stickerSetNameFullField)
|
||||
override val stickerSetName: StickerSetName? = null,
|
||||
@SerialName(slowModeDelayField)
|
||||
override val slowModeDelay: Long? = null,
|
||||
@SerialName(canSetStickerSetField)
|
||||
override val canSetStickerSet: Boolean = false,
|
||||
@SerialName(linkedChatIdField)
|
||||
override val linkedChannelChatId: ChatId? = null,
|
||||
@SerialName(locationField)
|
||||
override val location: ChatLocation? = null
|
||||
) : ExtendedSupergroupChat
|
||||
|
||||
@Serializable
|
||||
data class ExtendedBot(
|
||||
override val id: UserId,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username,
|
||||
@SerialName(firstNameField)
|
||||
override val firstName: String,
|
||||
@SerialName(lastNameField)
|
||||
override val lastName: String = "",
|
||||
@SerialName(canJoinGroupsField)
|
||||
val canJoinGroups: Boolean = false,
|
||||
@SerialName(canReadAllGroupMessagesField)
|
||||
val canReadAllGroupMessages: Boolean = false,
|
||||
@SerialName(supportInlineQueriesField)
|
||||
val supportsInlineQueries: Boolean = false
|
||||
) : Bot() {
|
||||
@SerialName(isBotField)
|
||||
private val isBot = true
|
||||
}
|
||||
|
||||
data class UnknownExtendedChat(
|
||||
override val id: ChatId,
|
||||
val raw: String
|
||||
) : ExtendedChat {
|
||||
override val chatPhoto: ChatPhoto? = null
|
||||
}
|
@@ -0,0 +1,47 @@
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.ExtendedChat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(ExtendedChatSerializer::class)
|
||||
sealed interface ExtendedChannelChat : ChannelChat, ExtendedPublicChat {
|
||||
val linkedGroupChatId: ChatId?
|
||||
}
|
||||
|
||||
@Serializable(ExtendedChatSerializer::class)
|
||||
sealed interface ExtendedGroupChat : GroupChat, ExtendedPublicChat {
|
||||
val permissions: ChatPermissions
|
||||
}
|
||||
|
||||
@Serializable(ExtendedChatSerializer::class)
|
||||
sealed interface ExtendedPrivateChat : PrivateChat, ExtendedChat {
|
||||
val bio: String
|
||||
val hasPrivateForwards: Boolean
|
||||
|
||||
val allowCreateUserIdLink: Boolean
|
||||
get() = hasPrivateForwards
|
||||
}
|
||||
|
||||
sealed interface ExtendedPublicChat : ExtendedChat, PublicChat {
|
||||
val description: String
|
||||
val inviteLink: String?
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
val pinnedMessage: Message?
|
||||
}
|
||||
|
||||
@Serializable(ExtendedChatSerializer::class)
|
||||
sealed interface ExtendedSupergroupChat : SupergroupChat, ExtendedGroupChat {
|
||||
val slowModeDelay: Long?
|
||||
val stickerSetName: StickerSetName?
|
||||
val canSetStickerSet: Boolean
|
||||
val linkedChannelChatId: ChatId?
|
||||
val location: ChatLocation?
|
||||
}
|
||||
|
||||
@Serializable(ExtendedChatSerializer::class)
|
||||
sealed interface ExtendedChat : Chat {
|
||||
val chatPhoto: ChatPhoto?
|
||||
}
|
@@ -1,14 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.GroupChat
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class GroupChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String
|
||||
) : GroupChat
|
@@ -0,0 +1,92 @@
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.micro_utils.language_codes.IetfLanguageCode
|
||||
import dev.inmo.micro_utils.language_codes.IetfLanguageCodeSerializer
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.abstracts.WithOptionalLanguageCode
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class GroupChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String
|
||||
) : GroupChat
|
||||
|
||||
@Serializable
|
||||
data class PrivateChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null,
|
||||
@SerialName(firstNameField)
|
||||
override val firstName: String = "",
|
||||
@SerialName(lastNameField)
|
||||
override val lastName: String = ""
|
||||
) : PrivateChat
|
||||
|
||||
@Serializable
|
||||
data class SupergroupChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null
|
||||
) : SupergroupChat
|
||||
|
||||
@Serializable
|
||||
data class ChannelChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null
|
||||
) : ChannelChat
|
||||
|
||||
@Serializable(UserSerializer::class)
|
||||
sealed class User : PrivateChat
|
||||
|
||||
@Serializable(UserSerializer::class)
|
||||
sealed class Bot : User() {
|
||||
abstract override val username: Username
|
||||
}
|
||||
|
||||
@Serializable
|
||||
data class CommonBot(
|
||||
override val id: UserId,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username,
|
||||
@SerialName(firstNameField)
|
||||
override val firstName: String,
|
||||
@SerialName(lastNameField)
|
||||
override val lastName: String = ""
|
||||
) : Bot() {
|
||||
@SerialName(isBotField)
|
||||
private val isBot = true
|
||||
}
|
||||
|
||||
@Serializable
|
||||
data class CommonUser(
|
||||
override val id: UserId,
|
||||
@SerialName(firstNameField)
|
||||
override val firstName: String,
|
||||
@SerialName(lastNameField)
|
||||
override val lastName: String = "",
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null,
|
||||
@SerialName(languageCodeField)
|
||||
@Serializable(IetfLanguageCodeSerializer::class)
|
||||
override val ietfLanguageCode: IetfLanguageCode? = null
|
||||
) : User(), WithOptionalLanguageCode {
|
||||
constructor(
|
||||
id: UserId,
|
||||
firstName: String,
|
||||
lastName: String = "",
|
||||
username: Username? = null,
|
||||
languageCode: String
|
||||
) : this(id, firstName, lastName, username, IetfLanguageCode(languageCode))
|
||||
}
|
@@ -1,18 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.PrivateChat
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class PrivateChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null,
|
||||
@SerialName(firstNameField)
|
||||
override val firstName: String = "",
|
||||
@SerialName(lastNameField)
|
||||
override val lastName: String = ""
|
||||
) : PrivateChat
|
@@ -1,16 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.SupergroupChat
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class SupergroupChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null
|
||||
) : SupergroupChat
|
@@ -0,0 +1,9 @@
|
||||
package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.tgbotapi.types.ChatId
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
data class UnknownChatType(
|
||||
override val id: ChatId,
|
||||
val raw: String
|
||||
) : Chat
|
@@ -1,7 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChatSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
interface ChannelChat : SuperPublicChat
|
@@ -1,15 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.ChatId
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChatSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
interface Chat {
|
||||
val id: ChatId
|
||||
}
|
||||
|
||||
data class UnknownChatType(
|
||||
override val id: ChatId,
|
||||
val raw: String
|
||||
) : Chat
|
@@ -1,7 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChatSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
interface GroupChat : PublicChat
|
@@ -1,12 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.UserId
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChatSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
interface PrivateChat : Chat, UsernameChat {
|
||||
override val id: UserId
|
||||
val firstName: String
|
||||
val lastName: String
|
||||
}
|
@@ -1,9 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChatSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
interface PublicChat : Chat {
|
||||
val title: String
|
||||
}
|
@@ -1,7 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChatSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
interface SuperPublicChat : PublicChat, UsernameChat
|
@@ -1,7 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChatSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
interface SupergroupChat : GroupChat, SuperPublicChat
|
@@ -0,0 +1,25 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("ChannelChat", "dev.inmo.tgbotapi.types.chat.ChannelChat"))
|
||||
typealias ChannelChat = dev.inmo.tgbotapi.types.chat.ChannelChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("GroupChat", "dev.inmo.tgbotapi.types.chat.GroupChat"))
|
||||
typealias GroupChat = dev.inmo.tgbotapi.types.chat.GroupChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("PrivateChat", "dev.inmo.tgbotapi.types.chat.PrivateChat"))
|
||||
typealias PrivateChat = dev.inmo.tgbotapi.types.chat.PrivateChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("PublicChat", "dev.inmo.tgbotapi.types.chat.PublicChat"))
|
||||
typealias PublicChat = dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("SupergroupChat", "dev.inmo.tgbotapi.types.chat.SupergroupChat"))
|
||||
typealias SupergroupChat = dev.inmo.tgbotapi.types.chat.SupergroupChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("SuperPublicChat", "dev.inmo.tgbotapi.types.chat.SuperPublicChat"))
|
||||
typealias SuperPublicChat = dev.inmo.tgbotapi.types.chat.SuperPublicChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("UsernameChat", "dev.inmo.tgbotapi.types.chat.UsernameChat"))
|
||||
typealias UsernameChat = dev.inmo.tgbotapi.types.chat.UsernameChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("Chat", "dev.inmo.tgbotapi.types.chat.Chat"))
|
||||
typealias Chat = dev.inmo.tgbotapi.types.chat.Chat
|
@@ -1,10 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.Username
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChatSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(PreviewChatSerializer::class)
|
||||
interface UsernameChat : Chat {
|
||||
val username: Username?
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts.extended
|
||||
|
||||
import dev.inmo.tgbotapi.types.ChatId
|
||||
import dev.inmo.tgbotapi.types.chat.ExtendedChatSerializer
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.ChannelChat
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(ExtendedChatSerializer::class)
|
||||
interface ExtendedChannelChat : ChannelChat, ExtendedPublicChat {
|
||||
val linkedGroupChatId: ChatId?
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts.extended
|
||||
|
||||
import dev.inmo.tgbotapi.types.ChatId
|
||||
import dev.inmo.tgbotapi.types.ChatPhoto
|
||||
import dev.inmo.tgbotapi.types.chat.ExtendedChatSerializer
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.Chat
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(ExtendedChatSerializer::class)
|
||||
interface ExtendedChat : Chat {
|
||||
val chatPhoto: ChatPhoto?
|
||||
}
|
||||
|
||||
data class UnknownExtendedChat(
|
||||
override val id: ChatId,
|
||||
val raw: String
|
||||
) : ExtendedChat {
|
||||
override val chatPhoto: ChatPhoto? = null
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts.extended
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.ChatPermissions
|
||||
import dev.inmo.tgbotapi.types.chat.ExtendedChatSerializer
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.GroupChat
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(ExtendedChatSerializer::class)
|
||||
interface ExtendedGroupChat : GroupChat, ExtendedPublicChat {
|
||||
val permissions: ChatPermissions
|
||||
}
|
@@ -1,14 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts.extended
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.ExtendedChatSerializer
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.PrivateChat
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(ExtendedChatSerializer::class)
|
||||
interface ExtendedPrivateChat : PrivateChat, ExtendedChat {
|
||||
val bio: String
|
||||
val hasPrivateForwards: Boolean
|
||||
|
||||
val allowCreateUserIdLink: Boolean
|
||||
get() = hasPrivateForwards
|
||||
}
|
@@ -1,13 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts.extended
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.PublicChat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
interface ExtendedPublicChat : ExtendedChat, PublicChat {
|
||||
val description: String
|
||||
val inviteLink: String?
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
val pinnedMessage: Message?
|
||||
}
|
@@ -1,15 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts.extended
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.ExtendedChatSerializer
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.SupergroupChat
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(ExtendedChatSerializer::class)
|
||||
interface ExtendedSupergroupChat : SupergroupChat, ExtendedGroupChat {
|
||||
val slowModeDelay: Long?
|
||||
val stickerSetName: StickerSetName?
|
||||
val canSetStickerSet: Boolean
|
||||
val linkedChannelChatId: ChatId?
|
||||
val location: ChatLocation?
|
||||
}
|
@@ -0,0 +1,19 @@
|
||||
package dev.inmo.tgbotapi.types.chat.abstracts.extended
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedChannelChat", "dev.inmo.tgbotapi.types.chat.ExtendedChannelChat"))
|
||||
typealias ExtendedChannelChat = dev.inmo.tgbotapi.types.chat.ExtendedChannelChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedGroupChat", "dev.inmo.tgbotapi.types.chat.ExtendedGroupChat"))
|
||||
typealias ExtendedGroupChat = dev.inmo.tgbotapi.types.chat.ExtendedGroupChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedPrivateChat", "dev.inmo.tgbotapi.types.chat.ExtendedPrivateChat"))
|
||||
typealias ExtendedPrivateChat = dev.inmo.tgbotapi.types.chat.ExtendedPrivateChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedPublicChat", "dev.inmo.tgbotapi.types.chat.ExtendedPublicChat"))
|
||||
typealias ExtendedPublicChat = dev.inmo.tgbotapi.types.chat.ExtendedPublicChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedSupergroupChat", "dev.inmo.tgbotapi.types.chat.ExtendedSupergroupChat"))
|
||||
typealias ExtendedSupergroupChat = dev.inmo.tgbotapi.types.chat.ExtendedSupergroupChat
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedChat", "dev.inmo.tgbotapi.types.chat.ExtendedChat"))
|
||||
typealias ExtendedChat = dev.inmo.tgbotapi.types.chat.ExtendedChat
|
@@ -1,29 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.extended
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.extended.ExtendedChannelChat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class ExtendedChannelChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null,
|
||||
@SerialName(photoField)
|
||||
override val chatPhoto: ChatPhoto? = null,
|
||||
@SerialName(descriptionField)
|
||||
override val description: String = "",
|
||||
@SerialName(inviteLinkField)
|
||||
override val inviteLink: String? = null,
|
||||
@SerialName(pinnedMessageField)
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
override val pinnedMessage: Message? = null,
|
||||
@SerialName(linkedChatIdField)
|
||||
override val linkedGroupChatId: ChatId? = null
|
||||
) : ExtendedChannelChat
|
@@ -1,28 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.extended
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.ChatPermissions
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.extended.ExtendedGroupChat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class ExtendedGroupChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String,
|
||||
@SerialName(photoField)
|
||||
override val chatPhoto: ChatPhoto? = null,
|
||||
@SerialName(permissionsField)
|
||||
override val permissions: ChatPermissions,
|
||||
@SerialName(descriptionField)
|
||||
override val description: String = "",
|
||||
@SerialName(inviteLinkField)
|
||||
override val inviteLink: String? = null,
|
||||
@SerialName(pinnedMessageField)
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
override val pinnedMessage: Message? = null
|
||||
) : ExtendedGroupChat
|
@@ -1,24 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.extended
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.extended.ExtendedPrivateChat
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class ExtendedPrivateChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(photoField)
|
||||
override val chatPhoto: ChatPhoto? = null,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null,
|
||||
@SerialName(firstNameField)
|
||||
override val firstName: String = "",
|
||||
@SerialName(lastNameField)
|
||||
override val lastName: String = "",
|
||||
@SerialName(bioField)
|
||||
override val bio: String = "",
|
||||
@SerialName(hasPrivateForwardsField)
|
||||
override val hasPrivateForwards: Boolean = false
|
||||
) : ExtendedPrivateChat
|
@@ -1,40 +0,0 @@
|
||||
package dev.inmo.tgbotapi.types.chat.extended
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.ChatPermissions
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.extended.ExtendedSupergroupChat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class ExtendedSupergroupChatImpl(
|
||||
@SerialName(idField)
|
||||
override val id: ChatId,
|
||||
@SerialName(titleField)
|
||||
override val title: String,
|
||||
@SerialName(usernameField)
|
||||
override val username: Username? = null,
|
||||
@SerialName(photoField)
|
||||
override val chatPhoto: ChatPhoto? = null,
|
||||
@SerialName(permissionsField)
|
||||
override val permissions: ChatPermissions,
|
||||
@SerialName(descriptionField)
|
||||
override val description: String = "",
|
||||
@SerialName(inviteLinkField)
|
||||
override val inviteLink: String? = null,
|
||||
@SerialName(pinnedMessageField)
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
override val pinnedMessage: Message? = null,
|
||||
@SerialName(stickerSetNameFullField)
|
||||
override val stickerSetName: StickerSetName? = null,
|
||||
@SerialName(slowModeDelayField)
|
||||
override val slowModeDelay: Long? = null,
|
||||
@SerialName(canSetStickerSetField)
|
||||
override val canSetStickerSet: Boolean = false,
|
||||
@SerialName(linkedChatIdField)
|
||||
override val linkedChannelChatId: ChatId? = null,
|
||||
@SerialName(locationField)
|
||||
override val location: ChatLocation? = null
|
||||
) : ExtendedSupergroupChat
|
@@ -0,0 +1,19 @@
|
||||
package dev.inmo.tgbotapi.types.chat.extended
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedChannelChatImpl", "dev.inmo.tgbotapi.types.chat.ExtendedChannelChatImpl"))
|
||||
typealias ExtendedChannelChatImpl = dev.inmo.tgbotapi.types.chat.ExtendedChannelChatImpl
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedGroupChatImpl", "dev.inmo.tgbotapi.types.chat.ExtendedGroupChatImpl"))
|
||||
typealias ExtendedGroupChatImpl = dev.inmo.tgbotapi.types.chat.ExtendedGroupChatImpl
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedPrivateChatImpl", "dev.inmo.tgbotapi.types.chat.ExtendedPrivateChatImpl"))
|
||||
typealias ExtendedPrivateChatImpl = dev.inmo.tgbotapi.types.chat.ExtendedPrivateChatImpl
|
||||
|
||||
@Deprecated("ExtendedUser", ReplaceWith("ExtendedPrivateChatImpl", "dev.inmo.tgbotapi.types.chat.ExtendedUser"))
|
||||
typealias ExtendedUser = ExtendedPrivateChatImpl
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedSupergroupChatImpl", "dev.inmo.tgbotapi.types.chat.ExtendedSupergroupChatImpl"))
|
||||
typealias ExtendedSupergroupChatImpl = dev.inmo.tgbotapi.types.chat.ExtendedSupergroupChatImpl
|
||||
@Deprecated("Replaced", ReplaceWith("ExtendedBot", "dev.inmo.tgbotapi.types.chat.ExtendedBot"))
|
||||
typealias ExtendedBot = dev.inmo.tgbotapi.types.chat.ExtendedBot
|
||||
|
||||
@Deprecated("Replaced", ReplaceWith("UnknownExtendedChat", "dev.inmo.tgbotapi.types.chat.UnknownExtendedChat"))
|
||||
typealias UnknownExtendedChat = dev.inmo.tgbotapi.types.chat.UnknownExtendedChat
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.chat.member
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.*
|
||||
|
||||
@Serializable
|
||||
|
@@ -1,7 +1,8 @@
|
||||
package dev.inmo.tgbotapi.types
|
||||
package dev.inmo.tgbotapi.types.chat.member
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.member.ChatMember
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.Chat
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.chat.member
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.*
|
||||
|
||||
@Serializable
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.chat.member
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.*
|
||||
|
||||
@Serializable
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.chat.member
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.*
|
||||
|
||||
@Serializable
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.chat.member
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.*
|
||||
|
||||
@Serializable
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.chat.member
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.*
|
||||
|
||||
@Serializable
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.games
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@@ -12,4 +13,4 @@ data class GameHighScore (
|
||||
val user: User,
|
||||
@SerialName(scoreField)
|
||||
val score: Long
|
||||
)
|
||||
)
|
||||
|
@@ -3,7 +3,8 @@ package dev.inmo.tgbotapi.types.message
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.chat.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent
|
||||
|
||||
|
@@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.types.message
|
||||
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.MessageIdentifier
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.chat.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelEvent
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage
|
||||
|
||||
|
@@ -4,7 +4,7 @@ import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.MediaGroupIdentifier
|
||||
import dev.inmo.tgbotapi.types.MessageIdentifier
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.MediaGroupMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.content.media.MediaGroupContent
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.message.ChatEvents
|
||||
|
||||
import dev.inmo.tgbotapi.CommonAbstracts.WithUser
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent
|
||||
|
||||
data class LeftChatMember(
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.message.ChatEvents
|
||||
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.GroupEvent
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.SupergroupEvent
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.message.ChatEvents
|
||||
|
||||
import dev.inmo.tgbotapi.types.Meters
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.message.ChatEvents.voice
|
||||
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.VideoChatEvent
|
||||
import dev.inmo.tgbotapi.types.usersField
|
||||
import kotlinx.serialization.SerialName
|
||||
|
@@ -2,8 +2,8 @@ package dev.inmo.tgbotapi.types.message
|
||||
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.MessageIdentifier
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.GroupChat
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.chat.GroupChat
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.GroupEvent
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.GroupEventMessage
|
||||
|
||||
|
@@ -3,7 +3,8 @@ package dev.inmo.tgbotapi.types.message
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.message.content.media.MediaGroupContent
|
||||
|
||||
|
@@ -2,8 +2,8 @@ package dev.inmo.tgbotapi.types.message
|
||||
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.MessageIdentifier
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.SupergroupChat
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.chat.SupergroupChat
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.SupergroupEvent
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.SupergroupEventMessage
|
||||
|
||||
|
@@ -2,7 +2,8 @@ package dev.inmo.tgbotapi.types.message
|
||||
|
||||
import dev.inmo.tgbotapi.CommonAbstracts.FromUser
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.chat.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
|
||||
sealed class ForwardInfo {
|
||||
abstract val dateOfOriginal: TelegramDate
|
||||
|
@@ -3,8 +3,9 @@ package dev.inmo.tgbotapi.types.message
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.GroupChat
|
||||
import dev.inmo.tgbotapi.types.chat.*
|
||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent
|
||||
|
||||
|
@@ -2,8 +2,8 @@ package dev.inmo.tgbotapi.types.message
|
||||
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.MessageIdentifier
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.passport.PassportData
|
||||
|
@@ -3,7 +3,9 @@ package dev.inmo.tgbotapi.types.message
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.*
|
||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent
|
||||
|
@@ -2,8 +2,7 @@ package dev.inmo.tgbotapi.types.message
|
||||
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.MessageIdentifier
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.PrivateChat
|
||||
import dev.inmo.tgbotapi.types.chat.PrivateChat
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PrivateEvent
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage
|
||||
|
||||
|
@@ -4,7 +4,9 @@ import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.MessageEntity.RawMessageEntities
|
||||
import dev.inmo.tgbotapi.types.MessageEntity.asTextSources
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.chat.*
|
||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.dice.Dice
|
||||
import dev.inmo.tgbotapi.types.files.*
|
||||
import dev.inmo.tgbotapi.types.files.Sticker
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.chat.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.PossiblySentViaBotCommonMessage
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.GroupChat
|
||||
import dev.inmo.tgbotapi.types.chat.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.chat.GroupChat
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent
|
||||
|
||||
interface GroupContentMessage<T : MessageContent> : PublicContentMessage<T> {
|
||||
|
@@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import com.soywiz.klock.DateTime
|
||||
import dev.inmo.tgbotapi.types.MessageIdentifier
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.message.RawMessage
|
||||
import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.CommonBot
|
||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||
|
||||
interface PossiblySentViaBot {
|
||||
val senderBot: CommonBot?
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.PublicChat
|
||||
import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.PossiblySentViaBotCommonMessage
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.abstracts.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
interface WithSenderChatMessage {
|
||||
val senderChat: Chat
|
||||
}
|
||||
}
|
||||
|
@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.payments
|
||||
|
||||
import dev.inmo.tgbotapi.CommonAbstracts.FromUser
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.payments.abstracts.*
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.payments
|
||||
|
||||
import dev.inmo.tgbotapi.CommonAbstracts.FromUser
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.polls
|
||||
|
||||
import dev.inmo.tgbotapi.CommonAbstracts.FromUser
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import kotlinx.serialization.*
|
||||
|
||||
@Serializable
|
||||
|
@@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.types.queries.callback
|
||||
|
||||
import dev.inmo.tgbotapi.CommonAbstracts.FromUser
|
||||
import dev.inmo.tgbotapi.types.CallbackQueryIdentifier
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
|
||||
sealed interface CallbackQuery : FromUser {
|
||||
val id: CallbackQueryIdentifier
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.queries.callback
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
|
||||
data class InlineMessageIdDataCallbackQuery(
|
||||
override val id: CallbackQueryIdentifier,
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.queries.callback
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
|
||||
data class InlineMessageIdGameShortNameCallbackQuery(
|
||||
override val id: CallbackQueryIdentifier,
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.queries.callback
|
||||
|
||||
import dev.inmo.tgbotapi.types.CallbackQueryIdentifier
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.queries.callback
|
||||
|
||||
import dev.inmo.tgbotapi.types.CallbackQueryIdentifier
|
||||
import dev.inmo.tgbotapi.types.User
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent
|
||||
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.queries.callback
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer
|
||||
import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.update
|
||||
|
||||
import dev.inmo.tgbotapi.types.ChatJoinRequest
|
||||
import dev.inmo.tgbotapi.types.chat.ChatJoinRequest
|
||||
import dev.inmo.tgbotapi.types.UpdateIdentifier
|
||||
import dev.inmo.tgbotapi.types.update.abstracts.Update
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.update
|
||||
|
||||
import dev.inmo.tgbotapi.types.ChatMemberUpdated
|
||||
import dev.inmo.tgbotapi.types.chat.member.ChatMemberUpdated
|
||||
import dev.inmo.tgbotapi.types.UpdateIdentifier
|
||||
import dev.inmo.tgbotapi.types.update.abstracts.ChatMemberUpdatedUpdate
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.update
|
||||
|
||||
import dev.inmo.tgbotapi.types.ChatMemberUpdated
|
||||
import dev.inmo.tgbotapi.types.chat.member.ChatMemberUpdated
|
||||
import dev.inmo.tgbotapi.types.UpdateIdentifier
|
||||
import dev.inmo.tgbotapi.types.update.abstracts.ChatMemberUpdatedUpdate
|
||||
|
||||
|
@@ -4,6 +4,8 @@ import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.queries.callback.RawCallbackQuery
|
||||
import dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.RawChosenInlineResult
|
||||
import dev.inmo.tgbotapi.types.InlineQueries.query.RawInlineQuery
|
||||
import dev.inmo.tgbotapi.types.chat.ChatJoinRequest
|
||||
import dev.inmo.tgbotapi.types.chat.member.ChatMemberUpdated
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.*
|
||||
import dev.inmo.tgbotapi.types.payments.PreCheckoutQuery
|
||||
import dev.inmo.tgbotapi.types.payments.ShippingQuery
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package dev.inmo.tgbotapi.types.update.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.ChatMemberUpdated
|
||||
import dev.inmo.tgbotapi.types.chat.member.ChatMemberUpdated
|
||||
|
||||
interface ChatMemberUpdatedUpdate : Update {
|
||||
override val data: ChatMemberUpdated
|
||||
|
Reference in New Issue
Block a user