From a01a9910b5eed165273d194c849c89b5deb10bef Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 2 Jan 2024 22:22:47 +0600 Subject: [PATCH] add full support of link preview customization --- .../tgbotapi/extensions/api/edit/Edits.kt | 40 ++++++------ .../extensions/api/edit/InlineEdits.kt | 16 ++--- .../api/edit/text/EditChatMessageText.kt | 61 +++++++++--------- .../api/edit/text/EditInlineMessageText.kt | 17 ++--- .../tgbotapi/extensions/api/send/Replies.kt | 16 ++--- .../api/send/RepliesWithChatsAndMessages.kt | 16 ++--- .../extensions/api/send/SendMessage.kt | 64 +++++++++---------- .../tgbotapi/extensions/api/send/Sends.kt | 32 +++++----- .../abstracts/types/DisableWebPagePreview.kt | 5 -- .../types/LinkPreviewOptionsContainer.kt | 12 ++++ .../EditDisableWebPagePreviewMessage.kt | 5 -- .../EditLinkPreviewOptionsContainer.kt | 8 +++ .../requests/edit/text/EditChatMessageText.kt | 14 ++-- .../edit/text/EditInlineMessageText.kt | 14 ++-- .../tgbotapi/requests/send/SendMessage.kt | 16 ++--- .../kotlin/dev/inmo/tgbotapi/types/Common.kt | 1 + .../InputTextMessageContent.kt | 16 ++--- .../inmo/tgbotapi/types/message/RawMessage.kt | 4 +- .../types/message/content/TextContent.kt | 4 +- 19 files changed, 189 insertions(+), 172 deletions(-) delete mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/types/DisableWebPagePreview.kt create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/types/LinkPreviewOptionsContainer.kt delete mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/abstracts/EditDisableWebPagePreviewMessage.kt create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/abstracts/EditLinkPreviewOptionsContainer.kt diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/Edits.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/Edits.kt index 4cd890c605..f7f9690a67 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/Edits.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/Edits.kt @@ -194,9 +194,9 @@ suspend fun TelegramBot.edit( messageId: MessageId, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = editMessageText(chatId, messageId, text, parseMode, disableWebPagePreview, replyMarkup) +) = editMessageText(chatId, messageId, text, parseMode, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -206,9 +206,9 @@ suspend fun TelegramBot.edit( chatId: ChatIdentifier, messageId: MessageId, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = editMessageText(chatId, messageId, entities, disableWebPagePreview, replyMarkup) +) = editMessageText(chatId, messageId, entities, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -218,10 +218,10 @@ suspend fun TelegramBot.edit( chatId: ChatIdentifier, messageId: MessageId, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = edit(chatId, messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = edit(chatId, messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -231,10 +231,10 @@ suspend fun TelegramBot.edit( chatId: ChatIdentifier, messageId: MessageId, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = edit(chatId, messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = edit(chatId, messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -244,9 +244,9 @@ suspend fun TelegramBot.edit( message: ContentMessage, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = edit(message.chat.id, message.messageId, text, parseMode, disableWebPagePreview, replyMarkup) +) = edit(message.chat.id, message.messageId, text, parseMode, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -255,9 +255,9 @@ suspend fun TelegramBot.edit( suspend fun TelegramBot.edit( message: ContentMessage, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = edit(message.chat.id, message.messageId, entities, disableWebPagePreview, replyMarkup) +) = edit(message.chat.id, message.messageId, entities, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -266,10 +266,10 @@ suspend fun TelegramBot.edit( suspend fun TelegramBot.edit( message: ContentMessage, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = edit(message, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = edit(message, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -278,10 +278,10 @@ suspend fun TelegramBot.edit( suspend fun TelegramBot.edit( message: ContentMessage, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = edit(message, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = edit(message, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -290,10 +290,10 @@ suspend fun TelegramBot.edit( suspend fun TelegramBot.editMessageText( message: ContentMessage, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = edit(message, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = edit(message, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -302,7 +302,7 @@ suspend fun TelegramBot.editMessageText( suspend fun TelegramBot.editMessageText( message: ContentMessage, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = edit(message, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = edit(message, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/InlineEdits.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/InlineEdits.kt index 5f9f26f003..c77db5f62f 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/InlineEdits.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/InlineEdits.kt @@ -74,9 +74,9 @@ suspend fun TelegramBot.edit( messageId: InlineMessageIdentifier, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = editMessageText(messageId, text, parseMode, disableWebPagePreview, replyMarkup) +) = editMessageText(messageId, text, parseMode, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -85,9 +85,9 @@ suspend fun TelegramBot.edit( suspend fun TelegramBot.edit( messageId: InlineMessageIdentifier, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = editMessageText(messageId, entities, disableWebPagePreview, replyMarkup) +) = editMessageText(messageId, entities, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -96,10 +96,10 @@ suspend fun TelegramBot.edit( suspend fun TelegramBot.edit( messageId: InlineMessageIdentifier, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = edit(messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = edit(messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -108,7 +108,7 @@ suspend fun TelegramBot.edit( suspend fun TelegramBot.edit( messageId: InlineMessageIdentifier, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = edit(messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = edit(messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/text/EditChatMessageText.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/text/EditChatMessageText.kt index c66886e28a..1cda2d3fd7 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/text/EditChatMessageText.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/text/EditChatMessageText.kt @@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.extensions.api.edit.text import dev.inmo.tgbotapi.bot.TelegramBot import dev.inmo.tgbotapi.requests.edit.text.EditChatMessageText import dev.inmo.tgbotapi.types.ChatIdentifier +import dev.inmo.tgbotapi.types.LinkPreviewOptions import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList import dev.inmo.tgbotapi.types.MessageId import dev.inmo.tgbotapi.types.message.ParseMode @@ -23,10 +24,10 @@ suspend fun TelegramBot.editMessageText( messageId: MessageId, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null ) = execute( - EditChatMessageText(chatId, messageId, text, parseMode, disableWebPagePreview, replyMarkup) + EditChatMessageText(chatId, messageId, text, parseMode, linkPreviewOptions, replyMarkup) ) /** @@ -38,9 +39,9 @@ suspend fun TelegramBot.editMessageText( messageId: MessageId, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = editMessageText(chat.id, messageId, text, parseMode, disableWebPagePreview, replyMarkup) +) = editMessageText(chat.id, messageId, text, parseMode, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -50,9 +51,9 @@ suspend fun TelegramBot.editMessageText( message: ContentMessage, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = editMessageText(message.chat.id, message.messageId, text, parseMode, disableWebPagePreview, replyMarkup) +) = editMessageText(message.chat.id, message.messageId, text, parseMode, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -62,10 +63,10 @@ suspend fun TelegramBot.editMessageText( chatId: ChatIdentifier, messageId: MessageId, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null ) = execute( - EditChatMessageText(chatId, messageId, entities, disableWebPagePreview, replyMarkup) + EditChatMessageText(chatId, messageId, entities, linkPreviewOptions, replyMarkup) ) /** @@ -76,10 +77,10 @@ suspend fun TelegramBot.editMessageText( chatId: ChatIdentifier, messageId: MessageId, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = editMessageText(chatId, messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = editMessageText(chatId, messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -89,10 +90,10 @@ suspend fun TelegramBot.editMessageText( chatId: ChatIdentifier, messageId: MessageId, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = editMessageText(chatId, messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = editMessageText(chatId, messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -102,9 +103,9 @@ suspend fun TelegramBot.editMessageText( chat: Chat, messageId: MessageId, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = editMessageText(chat.id, messageId, entities, disableWebPagePreview, replyMarkup) +) = editMessageText(chat.id, messageId, entities, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -114,10 +115,10 @@ suspend fun TelegramBot.editMessageText( chat: Chat, messageId: MessageId, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = editMessageText(chat.id, messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = editMessageText(chat.id, messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -127,10 +128,10 @@ suspend fun TelegramBot.editMessageText( chat: Chat, messageId: MessageId, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = editMessageText(chat.id, messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = editMessageText(chat.id, messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -139,9 +140,9 @@ suspend fun TelegramBot.editMessageText( suspend fun TelegramBot.editMessageText( message: ContentMessage, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = editMessageText(message.chat.id, message.messageId, entities, disableWebPagePreview, replyMarkup) +) = editMessageText(message.chat.id, message.messageId, entities, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -150,10 +151,10 @@ suspend fun TelegramBot.editMessageText( suspend fun TelegramBot.editMessageText( message: ContentMessage, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = editMessageText(message.chat.id, message.messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = editMessageText(message.chat.id, message.messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -162,10 +163,10 @@ suspend fun TelegramBot.editMessageText( suspend fun TelegramBot.editMessageText( message: ContentMessage, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = editMessageText(message.chat.id, message.messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = editMessageText(message.chat.id, message.messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -175,9 +176,9 @@ suspend fun TelegramBot.editMessageText( suspend fun TelegramBot.editMessageText( message: Message, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = editMessageText(message.chat.id, message.messageId, entities, disableWebPagePreview, replyMarkup) +) = editMessageText(message.chat.id, message.messageId, entities, linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -187,10 +188,10 @@ suspend fun TelegramBot.editMessageText( suspend fun TelegramBot.editMessageText( message: Message, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = editMessageText(message.chat.id, message.messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = editMessageText(message.chat.id, message.messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -200,7 +201,7 @@ suspend fun TelegramBot.editMessageText( suspend fun TelegramBot.editMessageText( message: Message, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = editMessageText(message.chat.id, message.messageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = editMessageText(message.chat.id, message.messageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/text/EditInlineMessageText.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/text/EditInlineMessageText.kt index 47d24abe1c..a49fac5503 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/text/EditInlineMessageText.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/edit/text/EditInlineMessageText.kt @@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.extensions.api.edit.text import dev.inmo.tgbotapi.bot.TelegramBot import dev.inmo.tgbotapi.requests.edit.text.EditInlineMessageText import dev.inmo.tgbotapi.types.InlineMessageIdentifier +import dev.inmo.tgbotapi.types.LinkPreviewOptions import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList import dev.inmo.tgbotapi.types.message.ParseMode import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup @@ -18,9 +19,9 @@ suspend fun TelegramBot.editMessageText( inlineMessageId: InlineMessageIdentifier, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = execute(EditInlineMessageText(inlineMessageId, text, parseMode, disableWebPagePreview, replyMarkup)) +) = execute(EditInlineMessageText(inlineMessageId, text, parseMode, linkPreviewOptions, replyMarkup)) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -29,9 +30,9 @@ suspend fun TelegramBot.editMessageText( suspend fun TelegramBot.editMessageText( inlineMessageId: InlineMessageIdentifier, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null -) = execute(EditInlineMessageText(inlineMessageId, entities, disableWebPagePreview, replyMarkup)) +) = execute(EditInlineMessageText(inlineMessageId, entities, linkPreviewOptions, replyMarkup)) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -40,10 +41,10 @@ suspend fun TelegramBot.editMessageText( suspend fun TelegramBot.editMessageText( inlineMessageId: InlineMessageIdentifier, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = editMessageText(inlineMessageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = editMessageText(inlineMessageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -52,7 +53,7 @@ suspend fun TelegramBot.editMessageText( suspend fun TelegramBot.editMessageText( inlineMessageId: InlineMessageIdentifier, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = editMessageText(inlineMessageId, buildEntities(separator, builderBody), disableWebPagePreview, replyMarkup) +) = editMessageText(inlineMessageId, buildEntities(separator, builderBody), linkPreviewOptions, replyMarkup) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/Replies.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/Replies.kt index 69ef258f6a..8552f54aae 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/Replies.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/Replies.kt @@ -176,7 +176,7 @@ suspend inline fun TelegramBot.reply( to: Message, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, disableNotification: Boolean = false, protectContent: Boolean = false, allowSendingWithoutReply: Boolean? = null, @@ -185,7 +185,7 @@ suspend inline fun TelegramBot.reply( to.chat, text, parseMode, - disableWebPagePreview, + linkPreviewOptions, to.threadIdOrNull, disableNotification, protectContent, @@ -201,7 +201,7 @@ suspend inline fun TelegramBot.reply( suspend inline fun TelegramBot.reply( to: Message, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, disableNotification: Boolean = false, protectContent: Boolean = false, allowSendingWithoutReply: Boolean? = null, @@ -209,7 +209,7 @@ suspend inline fun TelegramBot.reply( ) = sendTextMessage( to.chat, entities, - disableWebPagePreview, + linkPreviewOptions, to.threadIdOrNull, disableNotification, protectContent, @@ -225,13 +225,13 @@ suspend inline fun TelegramBot.reply( suspend fun TelegramBot.reply( to: Message, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, disableNotification: Boolean = false, protectContent: Boolean = false, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = reply(to, buildEntities(separator, builderBody), disableWebPagePreview, disableNotification, protectContent, allowSendingWithoutReply, replyMarkup) +) = reply(to, buildEntities(separator, builderBody), linkPreviewOptions, disableNotification, protectContent, allowSendingWithoutReply, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -240,13 +240,13 @@ suspend fun TelegramBot.reply( suspend fun TelegramBot.reply( to: Message, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, disableNotification: Boolean = false, protectContent: Boolean = false, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = reply(to, buildEntities(separator, builderBody), disableWebPagePreview, disableNotification, protectContent, allowSendingWithoutReply, replyMarkup) +) = reply(to, buildEntities(separator, builderBody), linkPreviewOptions, disableNotification, protectContent, allowSendingWithoutReply, replyMarkup) // Venue diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/RepliesWithChatsAndMessages.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/RepliesWithChatsAndMessages.kt index 67af3688cb..a81151755e 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/RepliesWithChatsAndMessages.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/RepliesWithChatsAndMessages.kt @@ -187,7 +187,7 @@ suspend inline fun TelegramBot.reply( toMessageId: MessageId, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = toChatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -197,7 +197,7 @@ suspend inline fun TelegramBot.reply( toChatId, text, parseMode, - disableWebPagePreview, + linkPreviewOptions, threadId, disableNotification, protectContent, @@ -214,7 +214,7 @@ suspend inline fun TelegramBot.reply( toChatId: IdChatIdentifier, toMessageId: MessageId, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = toChatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -223,7 +223,7 @@ suspend inline fun TelegramBot.reply( ) = sendTextMessage( toChatId, entities, - disableWebPagePreview, + linkPreviewOptions, threadId, disableNotification, protectContent, @@ -240,14 +240,14 @@ suspend fun TelegramBot.reply( toChatId: IdChatIdentifier, toMessageId: MessageId, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = toChatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = reply(toChatId, toMessageId, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, allowSendingWithoutReply, replyMarkup) +) = reply(toChatId, toMessageId, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, allowSendingWithoutReply, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -257,14 +257,14 @@ suspend fun TelegramBot.reply( toChatId: IdChatIdentifier, toMessageId: MessageId, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = toChatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = reply(toChatId, toMessageId, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, allowSendingWithoutReply, replyMarkup) +) = reply(toChatId, toMessageId, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, allowSendingWithoutReply, replyMarkup) // Venue diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/SendMessage.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/SendMessage.kt index 9bdc7b1cbb..2c7ee237fc 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/SendMessage.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/SendMessage.kt @@ -19,7 +19,7 @@ suspend fun TelegramBot.sendMessage( chatId: ChatIdentifier, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -31,7 +31,7 @@ suspend fun TelegramBot.sendMessage( chatId, text, parseMode, - disableWebPagePreview, + linkPreviewOptions, threadId, disableNotification, protectContent, @@ -49,7 +49,7 @@ suspend fun TelegramBot.sendTextMessage( chatId: ChatIdentifier, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -57,7 +57,7 @@ suspend fun TelegramBot.sendTextMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null ) = sendMessage( - chatId, text, parseMode, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup + chatId, text, parseMode, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup ) /** @@ -68,14 +68,14 @@ suspend fun TelegramBot.sendTextMessage( chat: Chat, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null -) = sendTextMessage(chat.id, text, parseMode, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendTextMessage(chat.id, text, parseMode, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** @@ -86,14 +86,14 @@ suspend fun TelegramBot.sendMessage( chat: Chat, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null -) = sendMessage(chat.id, text, parseMode, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendMessage(chat.id, text, parseMode, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** * @param replyMarkup Some of [KeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.replyKeyboard] or @@ -102,7 +102,7 @@ suspend fun TelegramBot.sendMessage( suspend fun TelegramBot.sendMessage( chatId: ChatIdentifier, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -110,7 +110,7 @@ suspend fun TelegramBot.sendMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null ) = execute( - SendTextMessage(chatId, entities, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) + SendTextMessage(chatId, entities, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) ) /** @@ -120,7 +120,7 @@ suspend fun TelegramBot.sendMessage( suspend fun TelegramBot.sendMessage( chatId: ChatIdentifier, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -128,7 +128,7 @@ suspend fun TelegramBot.sendMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = sendMessage(chatId, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendMessage(chatId, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** @@ -138,7 +138,7 @@ suspend fun TelegramBot.sendMessage( suspend fun TelegramBot.sendMessage( chatId: ChatIdentifier, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -146,7 +146,7 @@ suspend fun TelegramBot.sendMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = sendMessage(chatId, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendMessage(chatId, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** * @param replyMarkup Some of [KeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.replyKeyboard] or @@ -155,7 +155,7 @@ suspend fun TelegramBot.sendMessage( suspend fun TelegramBot.sendTextMessage( chatId: ChatIdentifier, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -163,7 +163,7 @@ suspend fun TelegramBot.sendTextMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null ) = sendMessage( - chatId, entities, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup + chatId, entities, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup ) /** @@ -173,7 +173,7 @@ suspend fun TelegramBot.sendTextMessage( suspend fun TelegramBot.sendTextMessage( chatId: ChatIdentifier, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -181,7 +181,7 @@ suspend fun TelegramBot.sendTextMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = sendTextMessage(chatId, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendTextMessage(chatId, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** @@ -191,7 +191,7 @@ suspend fun TelegramBot.sendTextMessage( suspend fun TelegramBot.sendTextMessage( chatId: ChatIdentifier, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -199,7 +199,7 @@ suspend fun TelegramBot.sendTextMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = sendTextMessage(chatId, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendTextMessage(chatId, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** * @param replyMarkup Some of [KeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.replyKeyboard] or @@ -208,14 +208,14 @@ suspend fun TelegramBot.sendTextMessage( suspend fun TelegramBot.sendMessage( chat: Chat, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null -) = sendMessage(chat.id, entities, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendMessage(chat.id, entities, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -224,7 +224,7 @@ suspend fun TelegramBot.sendMessage( suspend fun TelegramBot.sendMessage( chat: Chat, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -232,7 +232,7 @@ suspend fun TelegramBot.sendMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = sendMessage(chat, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendMessage(chat, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** @@ -242,7 +242,7 @@ suspend fun TelegramBot.sendMessage( suspend fun TelegramBot.sendMessage( chat: Chat, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -250,7 +250,7 @@ suspend fun TelegramBot.sendMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = sendMessage(chat, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendMessage(chat, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** @@ -260,14 +260,14 @@ suspend fun TelegramBot.sendMessage( suspend fun TelegramBot.sendTextMessage( chat: Chat, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null -) = sendTextMessage(chat.id, entities, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendTextMessage(chat.id, entities, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -276,7 +276,7 @@ suspend fun TelegramBot.sendTextMessage( suspend fun TelegramBot.sendTextMessage( chat: Chat, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -284,7 +284,7 @@ suspend fun TelegramBot.sendTextMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = sendTextMessage(chat, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendTextMessage(chat, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** @@ -294,7 +294,7 @@ suspend fun TelegramBot.sendTextMessage( suspend fun TelegramBot.sendTextMessage( chat: Chat, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -302,4 +302,4 @@ suspend fun TelegramBot.sendTextMessage( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = sendTextMessage(chat, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendTextMessage(chat, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/Sends.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/Sends.kt index c9ce336499..283367d9e3 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/Sends.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/Sends.kt @@ -550,14 +550,14 @@ suspend fun TelegramBot.send( chatId: ChatIdentifier, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null -) = sendTextMessage(chatId, text, parseMode, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendTextMessage(chatId, text, parseMode, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** * Will execute [sendTextMessage] request @@ -568,14 +568,14 @@ suspend fun TelegramBot.send( chat: Chat, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null -) = sendTextMessage(chat, text, parseMode, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendTextMessage(chat, text, parseMode, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** * Will execute [sendTextMessage] request @@ -585,14 +585,14 @@ suspend fun TelegramBot.send( suspend fun TelegramBot.send( chatId: ChatIdentifier, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null -) = sendTextMessage(chatId, entities, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendTextMessage(chatId, entities, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -601,7 +601,7 @@ suspend fun TelegramBot.send( suspend fun TelegramBot.send( chatId: ChatIdentifier, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -609,7 +609,7 @@ suspend fun TelegramBot.send( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = send(chatId, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = send(chatId, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** @@ -619,7 +619,7 @@ suspend fun TelegramBot.send( suspend fun TelegramBot.send( chatId: ChatIdentifier, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -627,7 +627,7 @@ suspend fun TelegramBot.send( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = send(chatId, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = send(chatId, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** @@ -638,14 +638,14 @@ suspend fun TelegramBot.send( suspend fun TelegramBot.send( chat: Chat, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null -) = sendTextMessage(chat, entities, disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = sendTextMessage(chat, entities, linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** * @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard] @@ -654,7 +654,7 @@ suspend fun TelegramBot.send( suspend fun TelegramBot.send( chat: Chat, separator: TextSource? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -662,7 +662,7 @@ suspend fun TelegramBot.send( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = send(chat, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = send(chat, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** @@ -672,7 +672,7 @@ suspend fun TelegramBot.send( suspend fun TelegramBot.send( chat: Chat, separator: String, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chat.id.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -680,7 +680,7 @@ suspend fun TelegramBot.send( allowSendingWithoutReply: Boolean? = null, replyMarkup: KeyboardMarkup? = null, builderBody: EntitiesBuilderBody -) = send(chat, buildEntities(separator, builderBody), disableWebPagePreview, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) +) = send(chat, buildEntities(separator, builderBody), linkPreviewOptions, threadId, disableNotification, protectContent, replyToMessageId, allowSendingWithoutReply, replyMarkup) /** * Will execute [sendPhoto] request diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/types/DisableWebPagePreview.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/types/DisableWebPagePreview.kt deleted file mode 100644 index 2cb37e84a8..0000000000 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/types/DisableWebPagePreview.kt +++ /dev/null @@ -1,5 +0,0 @@ -package dev.inmo.tgbotapi.abstracts.types - -interface DisableWebPagePreview { - val disableWebPagePreview: Boolean? -} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/types/LinkPreviewOptionsContainer.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/types/LinkPreviewOptionsContainer.kt new file mode 100644 index 0000000000..c6c8144b5d --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/types/LinkPreviewOptionsContainer.kt @@ -0,0 +1,12 @@ +package dev.inmo.tgbotapi.abstracts.types + +import dev.inmo.tgbotapi.types.LinkPreviewOptions + +interface LinkPreviewOptionsContainer { + val linkPreviewOptions: LinkPreviewOptions? + val disableWebPagePreview: Boolean? + get() = linkPreviewOptions ?.isDisabled != true +} + +@Deprecated("Renamed", ReplaceWith("LinkPreviewOptionsContainer", "dev.inmo.tgbotapi.abstracts.types.LinkPreviewOptionsContainer")) +typealias DisableWebPagePreview = LinkPreviewOptionsContainer diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/abstracts/EditDisableWebPagePreviewMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/abstracts/EditDisableWebPagePreviewMessage.kt deleted file mode 100644 index 3cb0160c0d..0000000000 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/abstracts/EditDisableWebPagePreviewMessage.kt +++ /dev/null @@ -1,5 +0,0 @@ -package dev.inmo.tgbotapi.requests.edit.abstracts - -interface EditDisableWebPagePreviewMessage { - val disableWebPagePreview: Boolean? -} \ No newline at end of file diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/abstracts/EditLinkPreviewOptionsContainer.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/abstracts/EditLinkPreviewOptionsContainer.kt new file mode 100644 index 0000000000..b7c56eeca4 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/abstracts/EditLinkPreviewOptionsContainer.kt @@ -0,0 +1,8 @@ +package dev.inmo.tgbotapi.requests.edit.abstracts + +import dev.inmo.tgbotapi.abstracts.types.LinkPreviewOptionsContainer + +interface EditLinkPreviewOptionsContainer : LinkPreviewOptionsContainer + +@Deprecated("Renamed", ReplaceWith("EditLinkPreviewOptionsContainer", "dev.inmo.tgbotapi.requests.edit.abstracts.EditLinkPreviewOptionsContainer")) +typealias EditDisableWebPagePreviewMessage = EditLinkPreviewOptionsContainer \ No newline at end of file diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText.kt index b7b9200742..f220fbfa54 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText.kt @@ -22,7 +22,7 @@ fun EditChatMessageText( messageId: MessageId, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null ) = EditChatMessageText( chatId, @@ -30,7 +30,7 @@ fun EditChatMessageText( text, parseMode, null, - disableWebPagePreview, + linkPreviewOptions, replyMarkup ) @@ -38,7 +38,7 @@ fun EditChatMessageText( chatId: ChatIdentifier, messageId: MessageId, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null ) = EditChatMessageText( chatId, @@ -46,7 +46,7 @@ fun EditChatMessageText( entities.makeString(), null, entities.toRawMessageEntities(), - disableWebPagePreview, + linkPreviewOptions, replyMarkup ) @@ -62,11 +62,11 @@ data class EditChatMessageText internal constructor( override val parseMode: ParseMode? = null, @SerialName(entitiesField) private val rawEntities: List? = null, - @SerialName(disableWebPagePreviewField) - override val disableWebPagePreview: Boolean? = null, + @SerialName(linkPreviewOptionsField) + override val linkPreviewOptions: LinkPreviewOptions? = null, @SerialName(replyMarkupField) override val replyMarkup: InlineKeyboardMarkup? = null -) : EditChatMessage, EditTextChatMessage, EditReplyMessage, EditDisableWebPagePreviewMessage { +) : EditChatMessage, EditTextChatMessage, EditReplyMessage, EditLinkPreviewOptionsContainer { override val textSources: TextSourcesList? by lazy { rawEntities ?.asTextSources(text) } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditInlineMessageText.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditInlineMessageText.kt index 4793aaa1e3..9d4ed48d50 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditInlineMessageText.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditInlineMessageText.kt @@ -16,28 +16,28 @@ fun EditInlineMessageText( inlineMessageId: InlineMessageIdentifier, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null ) = EditInlineMessageText( inlineMessageId, text, parseMode, null, - disableWebPagePreview, + linkPreviewOptions, replyMarkup ) fun EditInlineMessageText( inlineMessageId: InlineMessageIdentifier, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, replyMarkup: InlineKeyboardMarkup? = null ) = EditInlineMessageText( inlineMessageId, entities.makeString(), null, entities.toRawMessageEntities(), - disableWebPagePreview, + linkPreviewOptions, replyMarkup ) @@ -51,11 +51,11 @@ data class EditInlineMessageText internal constructor( override val parseMode: ParseMode? = null, @SerialName(entitiesField) private val rawEntities: List? = null, - @SerialName(disableWebPagePreviewField) - override val disableWebPagePreview: Boolean? = null, + @SerialName(linkPreviewOptionsField) + override val linkPreviewOptions: LinkPreviewOptions? = null, @SerialName(replyMarkupField) override val replyMarkup: InlineKeyboardMarkup? = null -) : EditInlineMessage, EditTextChatMessage, EditReplyMessage, EditDisableWebPagePreviewMessage { +) : EditInlineMessage, EditTextChatMessage, EditReplyMessage, EditLinkPreviewOptionsContainer { override val textSources: TextSourcesList? by lazy { rawEntities ?.asTextSources(text) } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendMessage.kt index 85e69e7406..8cbc0e1d24 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendMessage.kt @@ -1,6 +1,6 @@ package dev.inmo.tgbotapi.requests.send -import dev.inmo.tgbotapi.abstracts.types.DisableWebPagePreview +import dev.inmo.tgbotapi.abstracts.types.LinkPreviewOptionsContainer import dev.inmo.tgbotapi.requests.send.abstracts.* import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList @@ -24,7 +24,7 @@ fun SendTextMessage( chatId: ChatIdentifier, text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -37,7 +37,7 @@ fun SendTextMessage( parseMode, null, threadId, - disableWebPagePreview, + linkPreviewOptions, disableNotification, protectContent, replyToMessageId, @@ -48,7 +48,7 @@ fun SendTextMessage( fun SendTextMessage( chatId: ChatIdentifier, entities: TextSourcesList, - disableWebPagePreview: Boolean? = null, + linkPreviewOptions: LinkPreviewOptions? = null, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -61,7 +61,7 @@ fun SendTextMessage( null, entities.toRawMessageEntities(), threadId, - disableWebPagePreview, + linkPreviewOptions, disableNotification, protectContent, replyToMessageId, @@ -81,8 +81,8 @@ data class SendTextMessage internal constructor( private val rawEntities: List? = null, @SerialName(messageThreadIdField) override val threadId: MessageThreadId? = chatId.threadId, - @SerialName(disableWebPagePreviewField) - override val disableWebPagePreview: Boolean? = null, + @SerialName(linkPreviewOptionsField) + override val linkPreviewOptions: LinkPreviewOptions? = null, @SerialName(disableNotificationField) override val disableNotification: Boolean = false, @SerialName(protectContentField) @@ -96,7 +96,7 @@ data class SendTextMessage internal constructor( ) : SendMessageRequest>, ReplyingMarkupSendMessageRequest>, TextableSendMessageRequest>, - DisableWebPagePreview + LinkPreviewOptionsContainer { override val textSources: TextSourcesList? by lazy { rawEntities ?.asTextSources(text) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt index 70f7ee5c37..b6e7dd2c83 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt @@ -202,6 +202,7 @@ const val mediaGroupIdField = "media_group_id" const val updateIdField = "update_id" const val fromChatIdField = "from_chat_id" const val disableWebPagePreviewField = "disable_web_page_preview" +const val linkPreviewOptionsField = "link_preview_options" const val disableNotificationField = "disable_notification" const val protectContentField = "protect_content" const val replyToMessageIdField = "reply_to_message_id" diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputTextMessageContent.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputTextMessageContent.kt index d81fa7ac00..c09581176e 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputTextMessageContent.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputTextMessageContent.kt @@ -1,7 +1,7 @@ package dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent import dev.inmo.tgbotapi.abstracts.TextedOutput -import dev.inmo.tgbotapi.abstracts.types.DisableWebPagePreview +import dev.inmo.tgbotapi.abstracts.types.LinkPreviewOptionsContainer import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList import dev.inmo.tgbotapi.types.message.ParseMode @@ -19,16 +19,16 @@ import kotlinx.serialization.Serializable fun InputTextMessageContent( text: String, parseMode: ParseMode? = null, - disableWebPagePreview: Boolean? = null -) = InputTextMessageContent(text, parseMode, null, disableWebPagePreview) + linkPreviewOptions: LinkPreviewOptions? = null +) = InputTextMessageContent(text, parseMode, null, linkPreviewOptions) /** * Represents the [InputMessageContent] of a text message to be sent as the result of an inline query. */ fun InputTextMessageContent( entities: TextSourcesList, - disableWebPagePreview: Boolean? = null -) = InputTextMessageContent(entities.makeString(), null, entities.toRawMessageEntities(), disableWebPagePreview) + linkPreviewOptions: LinkPreviewOptions? = null +) = InputTextMessageContent(entities.makeString(), null, entities.toRawMessageEntities(), linkPreviewOptions) @Serializable data class InputTextMessageContent internal constructor( @@ -38,9 +38,9 @@ data class InputTextMessageContent internal constructor( override val parseMode: ParseMode? = null, @SerialName(entitiesField) private val rawEntities: List? = null, - @SerialName(disableWebPagePreviewField) - override val disableWebPagePreview: Boolean? = null -) : TextedOutput, DisableWebPagePreview, InputMessageContent { + @SerialName(linkPreviewOptionsField) + override val linkPreviewOptions: LinkPreviewOptions? = null +) : TextedOutput, LinkPreviewOptionsContainer, InputMessageContent { override val textSources: TextSourcesList? by lazy { rawEntities ?.asTextSources(text) } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt index fcaf6164b5..8f0186f90b 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt @@ -128,6 +128,8 @@ internal data class RawMessage( private val passport_data: PassportData? = null, private val proximity_alert_triggered: ProximityAlertTriggered? = null, + private val link_preview_options: LinkPreviewOptions? = null, + private val reply_markup: InlineKeyboardMarkup? = null ) { private val content: MessageContent? by lazy { @@ -141,7 +143,7 @@ internal data class RawMessage( messageId, story ) - text != null -> TextContent(text, (entities ?: emptyList()).asTextSources(text)) + text != null -> TextContent(text, (entities ?: emptyList()).asTextSources(text), link_preview_options) audio != null -> AudioContent( audio, caption, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/TextContent.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/TextContent.kt index ff83c6abc2..567841dd0c 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/TextContent.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/TextContent.kt @@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.TextedInput import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.send.SendTextMessage import dev.inmo.tgbotapi.types.ChatIdentifier +import dev.inmo.tgbotapi.types.LinkPreviewOptions import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList import dev.inmo.tgbotapi.types.MessageId import dev.inmo.tgbotapi.types.MessageThreadId @@ -15,6 +16,7 @@ import kotlinx.serialization.Serializable data class TextContent( override val text: String, override val textSources: TextSourcesList = emptyList(), + val linkPreviewOptions: LinkPreviewOptions? = null ) : TextedContent { override fun createResend( chatId: ChatIdentifier, @@ -27,7 +29,7 @@ data class TextContent( ): Request> = SendTextMessage( chatId, textSources, - false, + linkPreviewOptions, messageThreadId, disableNotification, protectContent,