mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-22 16:23:48 +00:00
add Video InlineQueryResult
This commit is contained in:
parent
558800c1e4
commit
1ce4c97899
@ -0,0 +1,5 @@
|
|||||||
|
package com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts
|
||||||
|
|
||||||
|
interface MimeTyped {
|
||||||
|
val mimeType: String? // TODO::replace by something like enum or interface
|
||||||
|
}
|
@ -60,27 +60,40 @@ const val untilDateField = "until_date"
|
|||||||
const val errorMessageField = "error_message"
|
const val errorMessageField = "error_message"
|
||||||
const val messageTextField = "message_text"
|
const val messageTextField = "message_text"
|
||||||
|
|
||||||
|
|
||||||
const val photoUrlField = "photo_url"
|
const val photoUrlField = "photo_url"
|
||||||
const val photoSizeField = "photo_size"
|
const val photoSizeField = "photo_size"
|
||||||
const val photoFileIdField = "photo_file_id"
|
const val photoFileIdField = "photo_file_id"
|
||||||
|
const val photoWidthField = "photo_width"
|
||||||
|
const val photoHeightField = "photo_height"
|
||||||
|
|
||||||
const val gifUrlField = "gif_url"
|
const val gifUrlField = "gif_url"
|
||||||
const val gifFileIdField = "gif_file_id"
|
const val gifFileIdField = "gif_file_id"
|
||||||
const val gifWidthField = "gif_width"
|
const val gifWidthField = "gif_width"
|
||||||
const val gifHeightField = "gif_height"
|
const val gifHeightField = "gif_height"
|
||||||
const val gifDurationField = "gif_duration"
|
const val gifDurationField = "gif_duration"
|
||||||
|
|
||||||
const val mpeg4GifUrlField = "mpeg4_url"
|
const val mpeg4GifUrlField = "mpeg4_url"
|
||||||
const val mpeg4GifFileIdField = "mpeg4_file_id"
|
const val mpeg4GifFileIdField = "mpeg4_file_id"
|
||||||
const val mpeg4GifWidthField = "mpeg4_width"
|
const val mpeg4GifWidthField = "mpeg4_width"
|
||||||
const val mpeg4GifHeightField = "mpeg4_height"
|
const val mpeg4GifHeightField = "mpeg4_height"
|
||||||
const val mpeg4GifDurationField = "mpeg4_duration"
|
const val mpeg4GifDurationField = "mpeg4_duration"
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
|
const val gameShortNameField = "game_short_name"
|
||||||
|
|
||||||
const val thumbUrlField = "thumb_url"
|
const val thumbUrlField = "thumb_url"
|
||||||
const val thumbWidthField = "thumb_width"
|
const val thumbWidthField = "thumb_width"
|
||||||
const val thumbHeightField = "thumb_height"
|
const val thumbHeightField = "thumb_height"
|
||||||
const val photoWidthField = "photo_width"
|
|
||||||
const val photoHeightField = "photo_height"
|
|
||||||
const val inputMessageContentField = "input_message_content"
|
const val inputMessageContentField = "input_message_content"
|
||||||
const val hideUrlField = "hide_url"
|
const val hideUrlField = "hide_url"
|
||||||
const val gameShortNameField = "game_short_name"
|
|
||||||
|
|
||||||
const val canSendMessagesField = "can_send_messages"
|
const val canSendMessagesField = "can_send_messages"
|
||||||
const val canSendMediaMessagesField = "can_send_media_messages"
|
const val canSendMediaMessagesField = "can_send_media_messages"
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
package com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult
|
||||||
|
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideo
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideoCached
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.mimeTypeField
|
||||||
|
import kotlinx.serialization.Optional
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
|
||||||
|
data class InlineQueryResultVideoCachedImpl(
|
||||||
|
@SerialName(idField)
|
||||||
|
override val id: String,
|
||||||
|
@SerialName(videoFileIdField)
|
||||||
|
override val fileId: FileId,
|
||||||
|
@SerialName(titleField)
|
||||||
|
@Optional
|
||||||
|
override val title: String? = null,
|
||||||
|
@SerialName(descriptionField)
|
||||||
|
@Optional
|
||||||
|
override val description: String? = null,
|
||||||
|
@SerialName(captionField)
|
||||||
|
@Optional
|
||||||
|
override val caption: String? = null,
|
||||||
|
@SerialName(parseModeField)
|
||||||
|
@Optional
|
||||||
|
override val parseMode: ParseMode? = null,
|
||||||
|
@SerialName(replyMarkupField)
|
||||||
|
@Optional
|
||||||
|
override val replyMarkup: InlineKeyboardMarkup? = null,
|
||||||
|
@SerialName(inputMessageContentField)
|
||||||
|
@Optional
|
||||||
|
override val inputMessageContent: InputMessageContent? = null
|
||||||
|
) : InlineQueryResultVideoCached
|
@ -0,0 +1,49 @@
|
|||||||
|
package com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult
|
||||||
|
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideo
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.mimeTypeField
|
||||||
|
import kotlinx.serialization.Optional
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
|
||||||
|
data class InlineQueryResultVideoImpl(
|
||||||
|
@SerialName(idField)
|
||||||
|
override val id: String,
|
||||||
|
@SerialName(videoUrlField)
|
||||||
|
override val url: String,
|
||||||
|
@SerialName(thumbUrlField)
|
||||||
|
override val thumbUrl: String,
|
||||||
|
@SerialName(mimeTypeField)
|
||||||
|
override val mimeType: String?,
|
||||||
|
@SerialName(videoWidthField)
|
||||||
|
@Optional
|
||||||
|
override val width: Int? = null,
|
||||||
|
@SerialName(videoHeightField)
|
||||||
|
@Optional
|
||||||
|
override val height: Int? = null,
|
||||||
|
@SerialName(videoDurationField)
|
||||||
|
@Optional
|
||||||
|
override val duration: Int? = null,
|
||||||
|
@SerialName(titleField)
|
||||||
|
@Optional
|
||||||
|
override val title: String? = null,
|
||||||
|
@SerialName(descriptionField)
|
||||||
|
@Optional
|
||||||
|
override val description: String? = null,
|
||||||
|
@SerialName(captionField)
|
||||||
|
@Optional
|
||||||
|
override val caption: String? = null,
|
||||||
|
@SerialName(parseModeField)
|
||||||
|
@Optional
|
||||||
|
override val parseMode: ParseMode? = null,
|
||||||
|
@SerialName(replyMarkupField)
|
||||||
|
@Optional
|
||||||
|
override val replyMarkup: InlineKeyboardMarkup? = null,
|
||||||
|
@SerialName(inputMessageContentField)
|
||||||
|
@Optional
|
||||||
|
override val inputMessageContent: InputMessageContent? = null
|
||||||
|
) : InlineQueryResultVideo
|
@ -0,0 +1,6 @@
|
|||||||
|
package com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.results.video
|
||||||
|
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.MimeTyped
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.*
|
||||||
|
|
||||||
|
interface InlineQueryResultVideo : InlineQueryResultVideoCommon, UrlInlineQueryResult, ThumbedInlineQueryResult, MimeTyped, SizedInlineQueryResult, DuratedInlineResultQuery
|
@ -0,0 +1,5 @@
|
|||||||
|
package com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.results.video
|
||||||
|
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.*
|
||||||
|
|
||||||
|
interface InlineQueryResultVideoCached : InlineQueryResultVideoCommon, WithFileIdInlineQueryResult
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.results.video
|
||||||
|
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.Captioned
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.MimeTyped
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.*
|
||||||
|
|
||||||
|
interface InlineQueryResultVideoCommon : InlineQueryResult,
|
||||||
|
TitledInlineQueryResult,
|
||||||
|
DescribedInlineQueryResult,
|
||||||
|
Captioned,
|
||||||
|
WithInputMessageContentInlineQueryResult
|
||||||
|
{
|
||||||
|
override val type: String
|
||||||
|
get() = "video"
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts
|
package com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts
|
||||||
|
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.MimeTyped
|
||||||
|
|
||||||
internal const val mimeTypeField = "mime_type"
|
internal const val mimeTypeField = "mime_type"
|
||||||
|
|
||||||
interface MimedMediaFile : TelegramMediaFile {
|
interface MimedMediaFile : TelegramMediaFile, MimeTyped
|
||||||
val mimeType: String? // TODO::replace by something like enum or interface
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user