tgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt

601 lines
22 KiB
Kotlin
Raw Normal View History

2020-10-04 11:06:30 +00:00
package dev.inmo.tgbotapi.types
2018-12-26 08:07:24 +00:00
2020-10-04 11:06:30 +00:00
import dev.inmo.tgbotapi.utils.BuiltinMimeTypes
import kotlinx.serialization.KSerializer
2022-08-12 17:21:53 +00:00
import kotlinx.serialization.Serializable
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
2022-08-12 17:21:53 +00:00
import kotlin.jvm.JvmInline
2018-12-26 08:07:24 +00:00
typealias Identifier = Long
typealias MessageId = Long
2022-11-06 06:51:53 +00:00
typealias MessageThreadId = Long
typealias MessageIdentifier = MessageId
2018-12-26 08:07:24 +00:00
typealias InlineQueryIdentifier = String
typealias UpdateIdentifier = Long
typealias MediaGroupIdentifier = String
typealias ForwardSignature = String
2019-04-16 09:26:02 +00:00
typealias ForwardSenderName = String
2018-12-26 08:07:24 +00:00
typealias AuthorSignature = ForwardSignature
typealias CallbackQueryIdentifier = String
typealias PaymentQueryIdentifier = String
typealias PreCheckoutQueryId = String
typealias ShippingQueryIdentifier = String
typealias InvoicePayload = String
typealias ShippingOptionIdentifier = String
typealias StartParameter = String
typealias InlineMessageIdentifier = String
2019-04-16 07:51:53 +00:00
typealias PollIdentifier = String
2019-08-12 09:15:22 +00:00
typealias StickerSetName = String
typealias FileUniqueId = String
2020-03-30 15:30:22 +00:00
typealias DiceResult = Int
typealias FoursquareId = String
typealias FoursquareType = String
typealias GooglePlaceId = String
typealias GooglePlaceType = String
typealias MembersLimit = Int
2022-04-17 14:30:18 +00:00
typealias WebAppQueryId = String
2022-08-12 17:21:53 +00:00
@Serializable
@JvmInline
value class CustomEmojiId(
val string: String
) {
val appLink
get() = "${internalTgAppLinksBeginning}emoji?id=$this"
}
2018-12-26 08:07:24 +00:00
2020-03-17 14:24:31 +00:00
typealias Seconds = Int
2020-11-11 05:23:24 +00:00
typealias MilliSeconds = Long
typealias LongSeconds = Long
typealias UnixTimeStamp = LongSeconds
2020-03-17 14:24:31 +00:00
2020-11-04 19:12:14 +00:00
typealias Meters = Float
typealias Degrees = Int
@Serializable(StickerType.Serializer::class)
sealed interface StickerType {
val type: String
@Serializable
object Regular : StickerType { override val type: String = "regular" }
@Serializable
object Mask : StickerType { override val type: String = "mask" }
@Serializable
object CustomEmoji : StickerType { override val type: String = "custom_emoji" }
2022-08-13 05:58:42 +00:00
@Serializable
data class Unknown(override val type: String = "custom_emoji") : StickerType
object Serializer : KSerializer<StickerType> {
override val descriptor: SerialDescriptor = String.serializer().descriptor
override fun deserialize(decoder: Decoder): StickerType {
return when (val type = decoder.decodeString()) {
Regular.type -> Regular
2022-08-13 08:40:00 +00:00
Mask.type -> Mask
CustomEmoji.type -> CustomEmoji
2022-08-13 05:58:42 +00:00
else -> Unknown(type)
}
}
override fun serialize(encoder: Encoder, value: StickerType) {
encoder.encodeString(value.type)
}
}
}
2023-03-10 08:00:57 +00:00
@Serializable(StickerFormat.Serializer::class)
sealed interface StickerFormat {
val type: String
@Serializable
object Static : StickerFormat { override val type: String = "static" }
@Serializable
object Animated : StickerFormat { override val type: String = "animated" }
@Serializable
object Video : StickerFormat { override val type: String = "video" }
@Serializable
data class Unknown(override val type: String = "custom_emoji") : StickerFormat
object Serializer : KSerializer<StickerFormat> {
override val descriptor: SerialDescriptor = String.serializer().descriptor
override fun deserialize(decoder: Decoder): StickerFormat {
return when (val type = decoder.decodeString()) {
Static.type -> Static
Animated.type -> Animated
Video.type -> Video
else -> Unknown(type)
}
}
override fun serialize(encoder: Encoder, value: StickerFormat) {
encoder.encodeString(value.type)
}
}
}
2022-08-24 09:03:54 +00:00
val usernameRegex = Regex("@[\\w\\d_]+")
2020-11-04 19:12:14 +00:00
val degreesLimit = 1 .. 360
val horizontalAccuracyLimit = 0F .. 1500F
2020-03-31 05:28:48 +00:00
val getUpdatesLimit = 1 .. 100
2019-01-29 00:18:07 +00:00
val callbackQueryAnswerLength = 0 until 200
2020-06-01 05:44:58 +00:00
val captionLength = 0 .. 1024
val textLength = 1 .. 4096
2018-12-26 08:07:24 +00:00
val userProfilePhotosRequestLimit = 0 .. 100
2019-01-29 00:18:07 +00:00
val chatTitleLength = 1 until 255
2022-11-06 09:29:48 +00:00
val threadNameLength = 1 until 128
2019-01-29 00:18:07 +00:00
val chatDescriptionLength = 0 until 256
val inlineResultQueryIdLingth = 1 until 64
2019-02-26 01:45:56 +00:00
val allowedConnectionsLength = 1 .. 100
2018-12-26 08:07:24 +00:00
2019-01-29 00:18:07 +00:00
val invoiceTitleLimit = 1 until 32
val invoiceDescriptionLimit = 1 until 256
val invoicePayloadBytesLimit = 1 until 128
2018-12-26 08:07:24 +00:00
2019-04-16 07:51:53 +00:00
val pollOptionTextLength = 1 .. 100
2020-11-04 19:15:03 +00:00
val pollQuestionTextLength = 1 .. 300
2019-04-16 08:16:13 +00:00
val pollOptionsLimit = 2 .. 10
2019-04-16 07:51:53 +00:00
2019-02-07 05:35:41 +00:00
val livePeriodLimit = 60 .. 86400
2019-02-07 06:14:51 +00:00
val inlineQueryAnswerResultsLimit = 0 .. 50
val customTitleLength = 0 .. 16
2020-11-26 13:37:35 +00:00
val dartsCubeAndBowlingDiceResultLimit = 1 .. 6
val basketballAndFootballDiceResultLimit = 1 .. 5
2020-11-02 14:32:46 +00:00
val slotMachineDiceResultLimit = 1 .. 64
2020-03-30 15:30:22 +00:00
2020-04-01 04:08:44 +00:00
val botCommandLengthLimit = 1 .. 32
val botCommandLimit = botCommandLengthLimit
2020-03-30 15:40:36 +00:00
val botCommandDescriptionLimit = 3 .. 256
2020-03-30 15:52:00 +00:00
val botCommandsLimit = 0 .. 100
2020-03-30 15:40:36 +00:00
2020-06-01 05:53:33 +00:00
val mediaCountInMediaGroup: IntRange = 2 .. 10
val explanationLimit = 0 .. 200
2020-04-24 12:46:26 +00:00
val openPeriodPollSecondsLimit = 5 .. 600
val membersLimit = 1 .. 99999
2021-04-26 14:23:26 +00:00
val suggestedTipAmountsLimit = 1 .. 4
2021-06-25 19:48:41 +00:00
val inputFieldPlaceholderLimit = 1 .. 64
2023-03-10 05:28:21 +00:00
val emojisInStickerLimit = 1 .. 20
2023-03-10 05:32:44 +00:00
val keywordsInStickerLimit = 0 .. 20
val stickerKeywordLengthLimit = 0 .. 64
2021-04-05 13:06:49 +00:00
const val botActionActualityTime: Seconds = 5
2020-08-19 19:17:32 +00:00
// Made as lazy for correct work in K/JS
val telegramInlineModeGifPermittedMimeTypes by lazy {
listOf(
BuiltinMimeTypes.Image.Jpg,
BuiltinMimeTypes.Image.Gif,
BuiltinMimeTypes.Video.MP4
)
}
const val tgWebAppStartParamField = "tgWebAppStartParam"
2018-12-26 08:07:24 +00:00
const val chatIdField = "chat_id"
const val senderChatIdField = "sender_chat_id"
2018-12-26 08:07:24 +00:00
const val messageIdField = "message_id"
2022-11-06 06:51:53 +00:00
const val messageThreadIdField = "message_thread_id"
2022-11-07 19:51:27 +00:00
const val mediaGroupIdField = "media_group_id"
2018-12-26 08:07:24 +00:00
const val updateIdField = "update_id"
const val fromChatIdField = "from_chat_id"
const val disableWebPagePreviewField = "disable_web_page_preview"
const val disableNotificationField = "disable_notification"
2022-01-01 14:13:22 +00:00
const val protectContentField = "protect_content"
2018-12-26 08:07:24 +00:00
const val replyToMessageIdField = "reply_to_message_id"
const val allowSendingWithoutReplyField = "allow_sending_without_reply"
2018-12-26 08:07:24 +00:00
const val replyMarkupField = "reply_markup"
2020-11-04 17:33:48 +00:00
const val disableContentTypeDetectionField = "disable_content_type_detection"
2018-12-26 08:07:24 +00:00
const val supportStreamingField = "support_streaming"
const val livePeriodField = "live_period"
2020-11-04 19:12:14 +00:00
const val proximityAlertRadiusField = "proximity_alert_radius"
2018-12-26 08:07:24 +00:00
const val isBotField = "is_bot"
const val firstNameField = "first_name"
const val lastNameField = "last_name"
const val languageCodeField = "language_code"
2022-06-21 11:52:16 +00:00
const val addedToAttachmentMenuField = "added_to_attachment_menu"
2022-06-21 11:34:14 +00:00
const val isPremiumField = "is_premium"
2021-12-10 06:53:00 +00:00
const val hasPrivateForwardsField = "has_private_forwards"
const val hasRestrictedVoiceAndVideoMessagesField = "has_restricted_voice_and_video_messages"
const val emojiStatusCustomEmojiIdField = "emoji_status_custom_emoji_id"
const val iconCustomEmojiIdField = "icon_custom_emoji_id"
const val canJoinGroupsField = "can_join_groups"
const val canReadAllGroupMessagesField = "can_read_all_group_messages"
const val supportInlineQueriesField = "supports_inline_queries"
2018-12-26 08:07:24 +00:00
const val textEntitiesField = "text_entities"
const val entitiesField = "entities"
2018-12-26 08:07:24 +00:00
const val stickerSetNameField = "set_name"
const val customEmojiIdField = "custom_emoji_id"
const val customEmojiIdsField = "custom_emoji_ids"
2022-06-21 11:34:14 +00:00
const val premiumAnimationField = "premium_animation"
const val stickerSetNameFullField = "sticker_set_name"
const val slowModeDelayField = "slow_mode_delay"
2018-12-26 08:07:24 +00:00
const val maskPositionField = "mask_position"
const val phoneNumberField = "phone_number"
const val userIdField = "user_id"
2020-11-04 17:10:39 +00:00
const val onlyIfBannedField = "only_if_banned"
2018-12-26 08:07:24 +00:00
const val containsMasksField = "contains_masks"
const val resultIdField = "result_id"
const val inlineMessageIdField = "inline_message_id"
const val callbackDataField = "callback_data"
const val callbackGameField = "callback_game"
2018-12-26 08:07:24 +00:00
const val callbackQueryIdField = "callback_query_id"
2022-04-17 14:30:18 +00:00
const val webAppQueryIdField = "web_app_query_id"
2019-02-07 06:14:51 +00:00
const val inlineQueryIdField = "inline_query_id"
const val inlineKeyboardField = "inline_keyboard"
2018-12-26 08:07:24 +00:00
const val showAlertField = "show_alert"
2021-01-30 13:35:53 +00:00
const val cacheTimeField = "cache_time"
2018-12-26 08:07:24 +00:00
const val foursquareIdField = "foursquare_id"
const val foursquareTypeField = "foursquare_type"
const val googlePlaceIdField = "google_place_id"
const val googlePlaceTypeField = "google_place_type"
2018-12-26 08:07:24 +00:00
const val untilDateField = "until_date"
const val errorMessageField = "error_message"
2019-02-07 03:25:49 +00:00
const val messageTextField = "message_text"
2019-02-07 06:14:51 +00:00
const val isPersonalField = "is_personal"
const val nextOffsetField = "next_offset"
2023-04-21 16:56:07 +00:00
const val buttonField = "button"
2019-02-07 06:14:51 +00:00
const val switchPmTextField = "switch_pm_text"
const val switchPmParameterField = "switch_pm_parameter"
2019-02-26 01:45:56 +00:00
const val maxAllowedConnectionsField = "max_connections"
const val allowedUpdatesField = "allowed_updates"
const val allowUserChatsField = "allow_user_chats"
const val allowBotChatsField = "allow_bot_chats"
const val allowGroupChatsField = "allow_group_chats"
const val allowChannelChatsField = "allow_channel_chats"
2020-11-04 16:43:26 +00:00
const val dropPendingUpdatesField = "drop_pending_updates"
2022-06-21 11:55:21 +00:00
const val secretTokenField = "secret_token"
2019-02-27 06:01:04 +00:00
const val hasCustomCertificateField = "has_custom_certificate"
const val pendingUpdateCountField = "pending_update_count"
const val lastErrorDateField = "last_error_date"
const val lastSynchronizationErrorDateField = "last_synchronization_error_date"
2019-02-27 06:01:04 +00:00
const val lastErrorMessageField = "last_error_message"
2019-04-16 07:45:29 +00:00
const val votesCountField = "voter_count"
2019-04-16 07:51:53 +00:00
const val isClosedField = "is_closed"
2020-01-23 10:40:57 +00:00
const val totalVoterCountField = "total_voter_count"
2020-01-23 10:36:25 +00:00
const val correctOptionIdField = "correct_option_id"
const val allowsMultipleAnswersField = "allows_multiple_answers"
const val isAnonymousField = "is_anonymous"
2022-11-06 08:18:34 +00:00
const val canManageTopicsField = "can_manage_topics"
const val captionEntitiesField = "caption_entities"
const val hasSpoilerField = "has_spoiler"
const val loginUrlField = "login_url"
const val forwardTextField = "forward_text"
const val botUsernameField = "bot_username"
2019-06-01 09:31:48 +00:00
const val switchInlineQueryCurrentChatField = "switch_inline_query_current_chat"
const val switchInlineQueryChosenChatField = "switch_inline_query_chosen_chat"
const val switchInlineQueryField = "switch_inline_query"
const val isAnimatedField = "is_animated"
2022-02-01 10:23:26 +00:00
const val isVideoField = "is_video"
const val inviteLinkField = "invite_link"
const val viaChatFolderInviteLinkField = "via_chat_folder_invite_link"
const val pinnedMessageField = "pinned_message"
2022-11-06 08:26:51 +00:00
const val activeUsernamesField = "active_usernames"
const val customTitleField = "custom_title"
2020-01-23 11:17:24 +00:00
const val optionIdsField = "option_ids"
2020-11-04 16:43:26 +00:00
const val ipAddressField = "ip_address"
2020-11-04 17:10:39 +00:00
const val linkedChatIdField = "linked_chat_id"
2022-12-30 14:55:47 +00:00
const val hasHiddenMembersField = "has_hidden_members"
2022-06-21 11:34:14 +00:00
const val joinToSendMessagesField = "join_to_send_messages"
const val joinByRequestField = "join_by_request"
const val hasAggressiveAntiSpamEnabledField = "has_aggressive_anti_spam_enabled"
2020-11-04 19:12:14 +00:00
const val horizontalAccuracyField = "horizontal_accuracy"
const val revokeMessagesField = "revoke_messages"
const val messageAutoDeleteTimeField = "message_auto_delete_time"
const val isPrimaryField = "is_primary"
const val isRevokedField = "is_revoked"
const val expireDateField = "expire_date"
2021-11-08 11:27:15 +00:00
const val createsJoinRequestField = "creates_join_request"
const val pendingJoinRequestCountField = "pending_join_request_count"
const val memberLimitField = "member_limit"
const val iconColorField = "icon_color"
2023-03-10 05:28:21 +00:00
const val emojiListField = "emoji_list"
2020-01-23 12:06:22 +00:00
const val requestContactField = "request_contact"
const val requestLocationField = "request_location"
const val requestPollField = "request_poll"
2023-02-05 14:46:12 +00:00
const val requestUserField = "request_user"
const val requestChatField = "request_chat"
const val requestIdField = "request_id"
const val userIsBotField = "user_is_bot"
const val userIsPremiumField = "user_is_premium"
const val chatIsChannelField = "chat_is_channel"
const val chatIsForumField = "chat_is_forum"
const val chatHasUsernameField = "chat_has_username"
const val chatIsCreatedField = "chat_is_created"
const val userAdministratorRightsField = "user_administrator_rights"
const val botAdministratorRightsField = "bot_administrator_rights"
const val botIsMemberField = "bot_is_member"
2020-01-23 12:06:22 +00:00
2022-04-17 12:15:24 +00:00
const val fileNameField = "file_name"
const val mimeTypeField = "mime_type"
const val fileIdField = "file_id"
const val fileSizeField = "file_size"
const val fileDateField = "file_date"
const val filePathField = "file_path"
const val requestWriteAccessField = "request_write_access"
2018-12-26 08:07:24 +00:00
2019-02-07 04:32:32 +00:00
2018-12-26 08:07:24 +00:00
const val photoUrlField = "photo_url"
const val photoSizeField = "photo_size"
const val photoFileIdField = "photo_file_id"
2019-02-07 04:32:32 +00:00
const val photoWidthField = "photo_width"
const val photoHeightField = "photo_height"
2018-12-26 08:07:24 +00:00
const val gifUrlField = "gif_url"
const val gifFileIdField = "gif_file_id"
2019-02-07 04:15:16 +00:00
const val gifWidthField = "gif_width"
const val gifHeightField = "gif_height"
const val gifDurationField = "gif_duration"
2019-02-07 04:32:32 +00:00
2019-02-07 04:15:16 +00:00
const val mpeg4GifUrlField = "mpeg4_url"
const val mpeg4GifFileIdField = "mpeg4_file_id"
const val mpeg4GifWidthField = "mpeg4_width"
const val mpeg4GifHeightField = "mpeg4_height"
const val mpeg4GifDurationField = "mpeg4_duration"
2019-02-07 04:32:32 +00:00
const val videoUrlField = "video_url"
const val videoFileIdField = "video_file_id"
const val videoWidthField = "video_width"
const val videoHeightField = "video_height"
const val videoDurationField = "video_duration"
2019-02-07 04:47:08 +00:00
const val audioUrlField = "audio_url"
const val audioFileIdField = "audio_file_id"
const val audioDurationField = "audio_duration"
const val voiceUrlField = "voice_url"
const val voiceFileIdField = "voice_file_id"
const val voiceDurationField = "voice_duration"
const val documentUrlField = "document_url"
const val documentFileIdField = "document_file_id"
2019-02-07 06:04:03 +00:00
const val stickerFileIdField = "sticker_file_id"
2019-02-07 04:32:32 +00:00
const val gameShortNameField = "game_short_name"
2023-03-10 06:24:12 +00:00
const val thumbnailUrlField = "thumbnail_url"
const val thumbnailMimeTypeField = "thumbnail_mime_type"
const val thumbnailWidthField = "thumbnail_width"
const val thumbnailHeightField = "thumbnail_height"
2019-02-07 04:32:32 +00:00
2018-12-26 08:07:24 +00:00
const val inputMessageContentField = "input_message_content"
const val hideUrlField = "hide_url"
2019-02-07 04:32:32 +00:00
2020-03-30 15:40:36 +00:00
const val botCommandField = "command"
2020-03-30 15:52:00 +00:00
const val botCommandsField = "commands"
2021-06-25 19:42:35 +00:00
const val scopeField = "scope"
2018-12-26 08:07:24 +00:00
2019-04-16 09:10:20 +00:00
const val isMemberField = "is_member"
2022-11-06 06:51:53 +00:00
const val isForumField = "is_forum"
2018-12-26 08:07:24 +00:00
const val canSendMessagesField = "can_send_messages"
const val canSendAudiosField = "can_send_audios"
const val canSendDocumentsField = "can_send_documents"
const val canSendPhotosField = "can_send_photos"
const val canSendVideosField = "can_send_videos"
const val canSendVideoNotesField = "can_send_video_notes"
const val canSendVoiceNotesField = "can_send_voice_notes"
2018-12-26 08:07:24 +00:00
const val canSendOtherMessagesField = "can_send_other_messages"
2019-08-12 07:46:16 +00:00
const val canSendPollsField = "can_send_polls"
2018-12-26 08:07:24 +00:00
const val canAddWebPagePreviewsField = "can_add_web_page_previews"
const val canSetStickerSetField = "can_set_sticker_set"
2018-12-26 08:07:24 +00:00
const val statusField = "status"
2018-12-26 08:07:24 +00:00
const val canBeEditedField = "can_be_edited"
const val canChangeInfoField = "can_change_info"
const val canPostMessagesField = "can_post_messages"
const val canEditMessagesField = "can_edit_messages"
const val canDeleteMessagesField = "can_delete_messages"
const val canInviteUsersField = "can_invite_users"
const val canRestrictMembersField = "can_restrict_members"
const val canPinMessagesField = "can_pin_messages"
const val canPromoteMembersField = "can_promote_members"
2021-03-09 13:19:15 +00:00
const val canManageVoiceChatsField = "can_manage_voice_chats"
2022-04-17 13:56:41 +00:00
const val canManageVideoChatsField = "can_manage_video_chats"
const val useIndependentChatPermissionsField = "use_independent_chat_permissions"
2022-04-17 13:56:41 +00:00
const val rightsField = "rights"
const val forChannelsField = "for_channels"
2021-03-09 13:26:30 +00:00
const val canManageChatField = "can_manage_chat"
2018-12-26 08:07:24 +00:00
const val pngStickerField = "png_sticker"
2020-03-30 16:03:59 +00:00
const val tgsStickerField = "tgs_sticker"
2022-02-01 10:23:26 +00:00
const val webmStickerField = "webm_sticker"
const val oldChatMemberField = "old_chat_member"
const val newChatMemberField = "new_chat_member"
const val stickerTypeField = "sticker_type"
2023-03-10 08:00:57 +00:00
const val stickerFormatField = "sticker_format"
const val needsRepaintingField = "needs_repainting"
2018-12-26 08:07:24 +00:00
const val okField = "ok"
const val captionField = "caption"
const val explanationField = "explanation"
2018-12-26 08:07:24 +00:00
const val idField = "id"
2020-01-23 11:17:24 +00:00
const val pollIdField = "poll_id"
2018-12-26 08:07:24 +00:00
const val textField = "text"
2023-03-10 06:01:08 +00:00
const val thumbnailField = "thumbnail"
2018-12-26 08:07:24 +00:00
const val emojiField = "emoji"
const val emojisField = "emojis"
const val titleField = "title"
const val descriptionField = "description"
const val shortDescriptionField = "short_description"
2018-12-26 08:07:24 +00:00
const val performerField = "performer"
const val durationField = "duration"
const val widthField = "width"
const val heightField = "height"
const val lengthField = "length"
const val latitudeField = "latitude"
const val longitudeField = "longitude"
2020-11-04 19:12:14 +00:00
const val headingField = "heading"
2018-12-26 08:07:24 +00:00
const val fromField = "from"
const val userChatIdField = "user_chat_id"
2018-12-26 08:07:24 +00:00
const val userField = "user"
const val dateField = "date"
const val chatField = "chat"
const val usernameField = "username"
2020-11-04 16:46:08 +00:00
const val bioField = "bio"
2018-12-26 08:07:24 +00:00
const val nameField = "name"
const val emailField = "email"
const val locationField = "location"
const val queryField = "query"
const val offsetField = "offset"
const val limitField = "limit"
const val stickersField = "stickers"
const val stickerField = "sticker"
2023-03-10 05:32:44 +00:00
const val keywordsField = "keywords"
2018-12-26 08:07:24 +00:00
const val urlField = "url"
const val addressField = "address"
const val actionField = "action"
const val positionField = "position"
const val labelField = "label"
const val amountField = "amount"
const val pricesField = "prices"
const val payloadField = "payload"
const val vcardField = "vcard"
2019-02-07 06:14:51 +00:00
const val resultsField = "results"
2022-04-17 14:30:18 +00:00
const val resultField = "result"
2019-02-26 01:45:56 +00:00
const val certificateField = "certificate"
2019-04-16 07:51:53 +00:00
const val questionField = "question"
const val optionsField = "options"
const val payField = "pay"
2019-08-12 07:46:16 +00:00
const val permissionsField = "permissions"
const val typeField = "type"
2020-03-30 15:30:22 +00:00
const val valueField = "value"
const val creatorField = "creator"
2018-12-26 08:07:24 +00:00
const val pointField = "point"
const val xShiftField = "x_shift"
const val yShiftField = "y_shift"
2019-04-13 02:15:25 +00:00
const val scaleField = "scale"
2018-12-26 08:07:24 +00:00
2021-04-26 14:23:26 +00:00
const val maxTipAmountField = "max_tip_amount"
const val suggestedTipAmountsField = "suggested_tip_amounts"
2021-04-26 14:42:26 +00:00
const val chatTypeField = "chat_type"
2021-04-26 14:23:26 +00:00
const val explanationEntitiesField = "explanation_entities"
2020-04-24 12:46:26 +00:00
const val explanationParseModeField = "explanation_parse_mode"
const val openPeriodField = "open_period"
const val closeDateField = "close_date"
2018-12-26 08:07:24 +00:00
const val smallFileIdField = "small_file_id"
const val bigFileIdField = "big_file_id"
const val smallFileUniqueIdField = "small_file_unique_id"
const val bigFileUniqueIdField = "big_file_unique_id"
const val fileUniqueIdField = "file_unique_id"
2018-12-26 08:07:24 +00:00
const val currencyField = "currency"
const val startParameterField = "start_parameter"
const val totalAmountField = "total_amount"
const val invoicePayloadField = "invoice_payload"
const val shippingOptionIdField = "shipping_option_id"
const val shippingQueryIdField = "shipping_query_id"
const val preCheckoutQueryIdField = "pre_checkout_query_id"
const val shippingOptionsField = "shipping_options"
const val countryCodeField = "country_code"
const val stateField = "state"
const val cityField = "city"
const val firstStreetLineField = "street_line1"
const val secondStreetLineField = "street_line2"
const val postCodeField = "post_code"
const val shippingAddressField = "shipping_address"
const val orderInfoField = "order_info"
const val telegramPaymentChargeIdField = "telegram_payment_charge_id"
const val providerPaymentChargeIdField = "provider_payment_charge_id"
const val providerTokenField = "provider_token"
const val providerDataField = "provider_data"
2021-03-09 13:19:15 +00:00
const val usersField = "users"
2021-04-26 14:47:03 +00:00
const val startDateField = "start_date"
2018-12-26 08:07:24 +00:00
const val requireNameField = "need_name"
const val requirePhoneNumberField = "need_phone_number"
const val requireEmailField = "need_email"
const val requireShippingAddressField = "need_shipping_address"
const val shouldSendPhoneNumberToProviderField = "send_phone_number_to_provider"
const val shouldSendEmailToProviderField = "send_email_to_provider"
const val resizeKeyboardField = "resize_keyboard"
const val oneTimeKeyboardField = "one_time_keyboard"
2021-06-25 19:48:41 +00:00
const val inputFieldPlaceholderField = "input_field_placeholder"
2022-12-30 13:38:26 +00:00
const val isPersistentField = "is_persistent"
2021-06-25 19:48:41 +00:00
2018-12-26 08:07:24 +00:00
const val priceDependOnShipAddressField = "is_flexible"
const val documentField = "document"
const val photoField = "photo"
const val audioField = "audio"
const val videoField = "video"
const val animationField = "animation"
const val voiceField = "voice"
const val videoNoteField = "video_note"
const val mediaField = "media"
const val disableEditMessageField = "disable_edit_message"
const val scoreField = "score"
const val forceField = "force"
const val forceReplyField = "force_reply"
2020-01-23 10:36:25 +00:00
const val regularPollType = "regular"
const val quizPollType = "quiz"
const val dataField = "data"
const val credentialsField = "credentials"
const val hashField = "hash"
const val translationField = "translation"
2021-01-22 17:01:37 +00:00
const val translationFileField = "translation_file"
const val fileField = "file"
const val filesField = "files"
2021-01-22 17:01:37 +00:00
const val translationFilesField = "translation_files"
const val frontSideField = "front_side"
const val reverseSideField = "reverse_side"
const val selfieField = "selfie"
const val secretField = "secret"
2021-01-22 17:01:37 +00:00
const val errorsField = "errors"
const val sourceField = "source"
const val fieldNameField = "field_name"
const val dataHashField = "data_hash"
const val fileHashField = "file_hash"
const val fileHashesField = "file_hashes"
const val messageField = "message"
const val unspecifiedField = "unspecified"
const val secureDataField = "secure_data"
const val nonceField = "nonce"
const val personalDetailsField = "personal_details"
const val passportField = "passport"
const val internalPassportField = "internal_passport"
const val driverLicenseField = "driver_license"
const val identityCardField = "identity_card"
const val utilityBillField = "utility_bill"
const val bankStatementField = "bank_statement"
const val rentalAgreementField = "rental_agreement"
const val passportRegistrationField = "passport_registration"
const val temporaryRegistrationField = "temporary_registration"
2022-04-17 12:36:40 +00:00
const val buttonTextField = "button_text"
2022-04-17 13:13:43 +00:00
const val webAppField = "web_app"
const val webAppNameField = "web_app_name"
2022-04-17 13:13:43 +00:00
const val menuButtonField = "menu_button"