1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-01 23:45:25 +00:00
tgbotapi/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/DeleteMessage.kt

54 lines
1.5 KiB
Kotlin
Raw Normal View History

package dev.inmo.tgbotapi.extensions.api
2020-02-15 09:33:04 +00:00
2020-10-04 11:06:30 +00:00
import dev.inmo.tgbotapi.bot.TelegramBot
import dev.inmo.tgbotapi.requests.DeleteMessage
import dev.inmo.tgbotapi.types.ChatIdentifier
import dev.inmo.tgbotapi.types.MessageId
2022-04-21 18:16:41 +00:00
import dev.inmo.tgbotapi.types.chat.Chat
2023-03-08 10:32:49 +00:00
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
2024-01-07 09:52:49 +00:00
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
2023-03-08 10:41:10 +00:00
import dev.inmo.tgbotapi.types.message.content.MediaGroupCollectionContent
2020-02-15 09:33:04 +00:00
suspend fun TelegramBot.deleteMessage(
2020-02-15 09:33:04 +00:00
chatId: ChatIdentifier,
messageId: MessageId
2020-02-15 09:33:04 +00:00
) = execute(
DeleteMessage(chatId, messageId)
)
suspend fun TelegramBot.deleteMessage(
2020-02-15 09:33:04 +00:00
chat: Chat,
messageId: MessageId
2020-02-15 09:33:04 +00:00
) = deleteMessage(chat.id, messageId)
suspend fun TelegramBot.deleteMessage(
2024-01-07 09:52:49 +00:00
message: AccessibleMessage
2023-03-08 10:32:49 +00:00
): Boolean {
2023-03-08 10:41:10 +00:00
val mediaGroupContent = ((message as? ContentMessage<*>) ?.content as? MediaGroupCollectionContent<*>)
2023-03-08 10:32:49 +00:00
if (mediaGroupContent == null) {
return deleteMessage(message.chat, message.messageId)
} else {
return mediaGroupContent.group.map {
deleteMessage(it.sourceMessage)
}.all { it }
}
}
2020-02-15 09:33:04 +00:00
2022-06-25 12:04:20 +00:00
suspend fun TelegramBot.delete(
chatId: ChatIdentifier,
messageId: MessageId
2022-06-25 12:04:20 +00:00
) = deleteMessage(chatId, messageId)
suspend fun TelegramBot.delete(
chat: Chat,
messageId: MessageId
2022-06-25 12:04:20 +00:00
) = deleteMessage(chat, messageId)
2022-06-25 12:34:41 +00:00
suspend fun TelegramBot.delete(
2024-01-07 09:52:49 +00:00
message: AccessibleMessage
2022-06-25 12:34:41 +00:00
) = deleteMessage(message)
2024-01-07 09:52:49 +00:00
suspend fun AccessibleMessage.delete(
requestsExecutor: TelegramBot
2020-02-15 09:33:04 +00:00
) = requestsExecutor.deleteMessage(this)