mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-26 03:58:44 +00:00
disableContentTypeDetection
This commit is contained in:
parent
179bb66183
commit
2a33216006
@ -16,6 +16,7 @@
|
|||||||
* New fields `ExtendedChannelChat#linkedGroupChatId` and `ExtendedSupergroupChat#linkedChannelChatId`
|
* New fields `ExtendedChannelChat#linkedGroupChatId` and `ExtendedSupergroupChat#linkedChannelChatId`
|
||||||
* New fields `ExtendedSupergroupChat#location`
|
* New fields `ExtendedSupergroupChat#location`
|
||||||
* New fields `AudioFile#fileName` and `VideoFile#fileName`
|
* New fields `AudioFile#fileName` and `VideoFile#fileName`
|
||||||
|
* New fields `SendDocument#disableContentTypeDetection` and `InputMediaDocument#disableContentTypeDetection`
|
||||||
|
|
||||||
## 0.29.4
|
## 0.29.4
|
||||||
|
|
||||||
|
@ -14,6 +14,15 @@ import dev.inmo.tgbotapi.utils.mapOfNotNull
|
|||||||
import dev.inmo.tgbotapi.utils.throwRangeError
|
import dev.inmo.tgbotapi.utils.throwRangeError
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use this method to send general files. On success, the sent [ContentMessage] with [DocumentContent] is returned.
|
||||||
|
* Bots can currently send files of any type of up to 50 MB in size, this limit may be changed in the future.
|
||||||
|
*
|
||||||
|
* @param disableContentTypeDetection Disables automatic server-side content type detection for [document] [MultipartFile]
|
||||||
|
*
|
||||||
|
* @see ContentMessage
|
||||||
|
* @see DocumentContent
|
||||||
|
*/
|
||||||
fun SendDocument(
|
fun SendDocument(
|
||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
document: InputFile,
|
document: InputFile,
|
||||||
@ -22,7 +31,8 @@ fun SendDocument(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
replyToMessageId: MessageIdentifier? = null,
|
||||||
replyMarkup: KeyboardMarkup? = null
|
replyMarkup: KeyboardMarkup? = null,
|
||||||
|
disableContentTypeDetection: Boolean? = null
|
||||||
): Request<ContentMessage<DocumentContent>> {
|
): Request<ContentMessage<DocumentContent>> {
|
||||||
val documentAsFileId = (document as? FileId) ?.fileId
|
val documentAsFileId = (document as? FileId) ?.fileId
|
||||||
val documentAsFile = document as? MultipartFile
|
val documentAsFile = document as? MultipartFile
|
||||||
@ -37,7 +47,8 @@ fun SendDocument(
|
|||||||
parseMode,
|
parseMode,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
replyToMessageId,
|
replyToMessageId,
|
||||||
replyMarkup
|
replyMarkup,
|
||||||
|
disableContentTypeDetection
|
||||||
)
|
)
|
||||||
|
|
||||||
return if (documentAsFile == null && thumbAsFile == null) {
|
return if (documentAsFile == null && thumbAsFile == null) {
|
||||||
@ -53,6 +64,15 @@ fun SendDocument(
|
|||||||
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<DocumentContent>>
|
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<DocumentContent>>
|
||||||
= TelegramBotAPIMessageDeserializationStrategyClass()
|
= TelegramBotAPIMessageDeserializationStrategyClass()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use this method to send general files. On success, the sent [ContentMessage] with [DocumentContent] is returned.
|
||||||
|
* Bots can currently send files of any type of up to 50 MB in size, this limit may be changed in the future.
|
||||||
|
*
|
||||||
|
* @param disableContentTypeDetection Disables automatic server-side content type detection for [document] [MultipartFile]
|
||||||
|
*
|
||||||
|
* @see ContentMessage
|
||||||
|
* @see DocumentContent
|
||||||
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class SendDocumentData internal constructor(
|
data class SendDocumentData internal constructor(
|
||||||
@SerialName(chatIdField)
|
@SerialName(chatIdField)
|
||||||
@ -70,7 +90,9 @@ data class SendDocumentData internal constructor(
|
|||||||
@SerialName(replyToMessageIdField)
|
@SerialName(replyToMessageIdField)
|
||||||
override val replyToMessageId: MessageIdentifier? = null,
|
override val replyToMessageId: MessageIdentifier? = null,
|
||||||
@SerialName(replyMarkupField)
|
@SerialName(replyMarkupField)
|
||||||
override val replyMarkup: KeyboardMarkup? = null
|
override val replyMarkup: KeyboardMarkup? = null,
|
||||||
|
@SerialName(disableContentTypeDetectionField)
|
||||||
|
val disableContentTypeDetection: Boolean? = null
|
||||||
) : DataRequest<ContentMessage<DocumentContent>>,
|
) : DataRequest<ContentMessage<DocumentContent>>,
|
||||||
SendMessageRequest<ContentMessage<DocumentContent>>,
|
SendMessageRequest<ContentMessage<DocumentContent>>,
|
||||||
ReplyingMarkupSendMessageRequest<ContentMessage<DocumentContent>>,
|
ReplyingMarkupSendMessageRequest<ContentMessage<DocumentContent>>,
|
||||||
|
@ -86,6 +86,7 @@ const val disableWebPagePreviewField = "disable_web_page_preview"
|
|||||||
const val disableNotificationField = "disable_notification"
|
const val disableNotificationField = "disable_notification"
|
||||||
const val replyToMessageIdField = "reply_to_message_id"
|
const val replyToMessageIdField = "reply_to_message_id"
|
||||||
const val replyMarkupField = "reply_markup"
|
const val replyMarkupField = "reply_markup"
|
||||||
|
const val disableContentTypeDetectionField = "disable_content_type_detection"
|
||||||
const val supportStreamingField = "support_streaming"
|
const val supportStreamingField = "support_streaming"
|
||||||
const val livePeriodField = "live_period"
|
const val livePeriodField = "live_period"
|
||||||
const val isBotField = "is_bot"
|
const val isBotField = "is_bot"
|
||||||
|
@ -4,19 +4,32 @@ import dev.inmo.tgbotapi.CommonAbstracts.CaptionedOutput
|
|||||||
import dev.inmo.tgbotapi.requests.abstracts.*
|
import dev.inmo.tgbotapi.requests.abstracts.*
|
||||||
import dev.inmo.tgbotapi.types.ParseMode.ParseMode
|
import dev.inmo.tgbotapi.types.ParseMode.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.ParseMode.parseModeField
|
import dev.inmo.tgbotapi.types.ParseMode.parseModeField
|
||||||
|
import dev.inmo.tgbotapi.types.disableContentTypeDetectionField
|
||||||
import dev.inmo.tgbotapi.types.files.DocumentFile
|
import dev.inmo.tgbotapi.types.files.DocumentFile
|
||||||
import dev.inmo.tgbotapi.types.mediaField
|
import dev.inmo.tgbotapi.types.mediaField
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|
||||||
internal const val documentInputMediaType = "document"
|
internal const val documentInputMediaType = "document"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents a general file to be sent. See https://core.telegram.org/bots/api#inputmediadocument
|
||||||
|
*
|
||||||
|
* @param disableContentTypeDetection Disables automatic server-side content type detection for files uploaded using
|
||||||
|
* multipart/form-data. Always used by Telegram system as true, if the document is sent as part of an album.
|
||||||
|
*
|
||||||
|
* @see InputFile
|
||||||
|
* @see MultipartFile
|
||||||
|
* @see FileId
|
||||||
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class InputMediaDocument(
|
data class InputMediaDocument(
|
||||||
override val file: InputFile,
|
override val file: InputFile,
|
||||||
override val caption: String? = null,
|
override val caption: String? = null,
|
||||||
@SerialName(parseModeField)
|
@SerialName(parseModeField)
|
||||||
override val parseMode: ParseMode? = null,
|
override val parseMode: ParseMode? = null,
|
||||||
override val thumb: InputFile? = null
|
override val thumb: InputFile? = null,
|
||||||
|
@SerialName(disableContentTypeDetectionField)
|
||||||
|
val disableContentTypeDetection: Boolean? = null
|
||||||
) : InputMedia, DocumentMediaGroupMemberInputMedia, ThumbedInputMedia, CaptionedOutput {
|
) : InputMedia, DocumentMediaGroupMemberInputMedia, ThumbedInputMedia, CaptionedOutput {
|
||||||
override val type: String = documentInputMediaType
|
override val type: String = documentInputMediaType
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user