package com.github.insanusmokrassar.TelegramBotAPI.types.message.content import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.Request import com.github.insanusmokrassar.TelegramBotAPI.requests.send.SendMessage import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier import com.github.insanusmokrassar.TelegramBotAPI.types.MessageEntity.MessageEntity import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.* import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup import com.github.insanusmokrassar.TelegramBotAPI.types.message.RawMessage import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.abstracts.MessageContent import com.github.insanusmokrassar.TelegramBotAPI.utils.toHtmlTexts import com.github.insanusmokrassar.TelegramBotAPI.utils.toMarkdownTexts data class TextContent( val text: String, val entities: List = emptyList() ) : MessageContent { override fun createResend( chatId: ChatIdentifier, disableNotification: Boolean, replyToMessageId: MessageIdentifier?, replyMarkup: KeyboardMarkup? ): Request = SendMessage( chatId, toHtmlTexts().first(), HTMLParseMode, false, disableNotification, replyToMessageId, replyMarkup ) override fun createResends( chatId: ChatIdentifier, disableNotification: Boolean, replyToMessageId: MessageIdentifier?, replyMarkup: KeyboardMarkup? ): List> = createResends( chatId, disableNotification, replyToMessageId, replyMarkup, HTMLParseMode ) fun createResends( chatId: ChatIdentifier, disableNotification: Boolean, replyToMessageId: MessageIdentifier?, replyMarkup: KeyboardMarkup?, parseMode: ParseMode = HTMLParseMode ): List> = when (parseMode) { is MarkdownParseMode -> toMarkdownTexts() is HTMLParseMode -> toHtmlTexts() }.map { SendMessage( chatId, it, parseMode, false, disableNotification, replyToMessageId, replyMarkup ) } }