diff --git a/CHANGELOG.md b/CHANGELOG.md index 98d03acee3..89834efb6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # TelegramBotAPI changelog +## 0.38.3 + +* `Common`: + * `Version`: + * `MicroUtils`: `0.9.1` -> `0.9.2` + * `Klock`: `2.4.10` -> `2.4.12` + * `UUID`: `0.3.1` -> `0.4.0` +* `API` + * New extensions `TelegramBot#send*` for media groups with contents + ## 0.38.2 * `Common`: diff --git a/docs/gradle.properties b/docs/gradle.properties index 612bde7275..e9157af4da 100644 --- a/docs/gradle.properties +++ b/docs/gradle.properties @@ -1,3 +1 @@ -dokka_version=1.6.0 - org.gradle.jvmargs=-Xmx1024m diff --git a/gradle.properties b/gradle.properties index 6b1f41d6d1..ae5123c8ad 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,16 +8,18 @@ kotlin.incremental.js=true kotlin_version=1.6.10 kotlin_coroutines_version=1.6.0 kotlin_serialisation_runtime_version=1.3.2 -klock_version=2.4.10 -uuid_version=0.3.1 +klock_version=2.4.12 +uuid_version=0.4.0 ktor_version=1.6.7 - -micro_utils_version=0.9.1 +micro_utils_version=0.9.2 javax_activation_version=1.1.1 + +dokka_version=1.6.10 + library_group=dev.inmo -library_version=0.38.2 +library_version=0.38.3 github_release_plugin_version=2.2.12 diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/media/SendMediaGroup.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/media/SendMediaGroup.kt index 0bd5de4206..be8f180f54 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/media/SendMediaGroup.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/media/SendMediaGroup.kt @@ -7,7 +7,11 @@ import dev.inmo.tgbotapi.types.InputMedia.* import dev.inmo.tgbotapi.types.MessageIdentifier import dev.inmo.tgbotapi.types.chat.abstracts.Chat import dev.inmo.tgbotapi.types.message.content.abstracts.MediaGroupContent +import dev.inmo.tgbotapi.types.message.content.abstracts.VisualMediaGroupContent +import dev.inmo.tgbotapi.types.message.content.media.AudioContent +import dev.inmo.tgbotapi.types.message.content.media.DocumentContent import dev.inmo.tgbotapi.utils.RiskFeature +import kotlin.jvm.JvmName /** * @see SendMediaGroup @@ -41,6 +45,38 @@ suspend fun TelegramBot.sendMediaGroup( chat.id, media, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply ) +/** + * @see SendMediaGroup + */ +@RiskFeature(rawSendingMediaGroupsWarning) +@JvmName("sendMedaGroupByContent") +suspend fun TelegramBot.sendMediaGroup( + chatId: ChatIdentifier, + media: List, + disableNotification: Boolean = false, + protectContent: Boolean = false, + replyToMessageId: MessageIdentifier? = null, + allowSendingWithoutReply: Boolean? = null +) = sendMediaGroup( + chatId, media.map { it.toMediaGroupMemberInputMedia() }, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply +) + +/** + * @see SendMediaGroup + */ +@RiskFeature(rawSendingMediaGroupsWarning) +@JvmName("sendMedaGroupByContent") +suspend fun TelegramBot.sendMediaGroup( + chat: Chat, + media: List, + disableNotification: Boolean = false, + protectContent: Boolean = false, + replyToMessageId: MessageIdentifier? = null, + allowSendingWithoutReply: Boolean? = null +) = sendMediaGroup( + chat.id, media, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply +) + /** * @see SendPlaylist */ @@ -71,6 +107,36 @@ suspend fun TelegramBot.sendPlaylist( chat.id, media, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply ) +/** + * @see SendPlaylist + */ +@JvmName("sendPlaylistByContent") +suspend fun TelegramBot.sendPlaylist( + chatId: ChatIdentifier, + media: List, + disableNotification: Boolean = false, + protectContent: Boolean = false, + replyToMessageId: MessageIdentifier? = null, + allowSendingWithoutReply: Boolean? = null +) = sendPlaylist( + chatId, media.map { it.toMediaGroupMemberInputMedia() }, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply +) + +/** + * @see SendPlaylist + */ +@JvmName("sendPlaylistByContent") +suspend fun TelegramBot.sendPlaylist( + chat: Chat, + media: List, + disableNotification: Boolean = false, + protectContent: Boolean = false, + replyToMessageId: MessageIdentifier? = null, + allowSendingWithoutReply: Boolean? = null +) = sendPlaylist( + chat.id, media, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply +) + /** * @see SendDocumentsGroup */ @@ -101,6 +167,36 @@ suspend fun TelegramBot.sendDocumentsGroup( chat.id, media, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply ) +/** + * @see SendDocumentsGroup + */ +@JvmName("sendDocumentsByContent") +suspend fun TelegramBot.sendDocumentsGroup( + chatId: ChatIdentifier, + media: List, + disableNotification: Boolean = false, + protectContent: Boolean = false, + replyToMessageId: MessageIdentifier? = null, + allowSendingWithoutReply: Boolean? = null +) = sendDocumentsGroup( + chatId, media.map { it.toMediaGroupMemberInputMedia() }, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply +) + +/** + * @see SendDocumentsGroup + */ +@JvmName("sendDocumentsByContent") +suspend fun TelegramBot.sendDocumentsGroup( + chat: Chat, + media: List, + disableNotification: Boolean = false, + protectContent: Boolean = false, + replyToMessageId: MessageIdentifier? = null, + allowSendingWithoutReply: Boolean? = null +) = sendDocumentsGroup( + chat.id, media, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply +) + /** * @see SendVisualMediaGroup */ @@ -130,3 +226,33 @@ suspend fun TelegramBot.sendVisualMediaGroup( ) = sendVisualMediaGroup( chat.id, media, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply ) + +/** + * @see SendVisualMediaGroup + */ +@JvmName("sendVisualMediaGroupByContent") +suspend fun TelegramBot.sendVisualMediaGroup( + chatId: ChatIdentifier, + media: List, + disableNotification: Boolean = false, + protectContent: Boolean = false, + replyToMessageId: MessageIdentifier? = null, + allowSendingWithoutReply: Boolean? = null +) = sendVisualMediaGroup( + chatId, media.map { it.toMediaGroupMemberInputMedia() }, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply +) + +/** + * @see SendVisualMediaGroup + */ +@JvmName("sendVisualMediaGroupByContent") +suspend fun TelegramBot.sendVisualMediaGroup( + chat: Chat, + media: List, + disableNotification: Boolean = false, + protectContent: Boolean = false, + replyToMessageId: MessageIdentifier? = null, + allowSendingWithoutReply: Boolean? = null +) = sendVisualMediaGroup( + chat.id, media, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply +)