diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/OptionalThreadId.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/OptionalThreadId.kt index bab83ae2e4..2369d24ba4 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/OptionalThreadId.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/OptionalThreadId.kt @@ -1,7 +1,7 @@ package dev.inmo.tgbotapi.utils.extensions -import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage +import dev.inmo.tgbotapi.types.message.abstracts.Message import dev.inmo.tgbotapi.types.message.abstracts.PossiblyTopicMessage -val AccessibleMessage.threadIdOrNull +val Message.threadIdOrNull get() = (this as? PossiblyTopicMessage) ?.threadId diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt index e73520d8cd..4def5e7843 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt @@ -260,7 +260,7 @@ import dev.inmo.tgbotapi.types.message.CommonSupergroupEventMessage import dev.inmo.tgbotapi.types.message.ForwardInfo import dev.inmo.tgbotapi.types.message.PassportMessage import dev.inmo.tgbotapi.types.message.PrivateEventMessage -import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage +import dev.inmo.tgbotapi.types.message.abstracts.Message import dev.inmo.tgbotapi.types.message.abstracts.AnonymousForumContentMessage import dev.inmo.tgbotapi.types.message.abstracts.AnonymousGroupContentMessage import dev.inmo.tgbotapi.types.message.abstracts.ChannelContentMessage @@ -3495,13 +3495,13 @@ public inline fun Message.ifCommonForumContentMessage(block: (CommonForumContentMessage) -> T): T? = commonForumContentMessageOrNull() ?.let(block) -public inline fun Message.accessibleMessageOrNull(): AccessibleMessage? = this as? - dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage +public inline fun Message.accessibleMessageOrNull(): Message? = this as? + dev.inmo.tgbotapi.types.message.abstracts.Message -public inline fun Message.accessibleMessageOrThrow(): AccessibleMessage = this as - dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage +public inline fun Message.accessibleMessageOrThrow(): Message = this as + dev.inmo.tgbotapi.types.message.abstracts.Message -public inline fun Message.ifAccessibleMessage(block: (AccessibleMessage) -> T): T? = +public inline fun Message.ifMessage(block: (Message) -> T): T? = accessibleMessageOrNull() ?.let(block) public inline fun Message.inaccessibleMessageOrNull(): InaccessibleMessage? = this as? diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/Same.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/Same.kt index a8d3eb25ea..360d71c6f4 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/Same.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/Same.kt @@ -8,7 +8,7 @@ import dev.inmo.tgbotapi.types.MessageId import dev.inmo.tgbotapi.types.MessageThreadId import dev.inmo.tgbotapi.types.Username import dev.inmo.tgbotapi.types.chat.Chat -import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage +import dev.inmo.tgbotapi.types.message.abstracts.Message import dev.inmo.tgbotapi.types.threadId import dev.inmo.tgbotapi.utils.extensions.threadIdOrNull @@ -32,43 +32,43 @@ inline fun WithPreviewChat.sameChat(chat: Chat) = * @return true in case if [this] message is placed in the same chat that [other] */ @Suppress("NOTHING_TO_INLINE") -inline fun WithPreviewChat.sameChat(other: AccessibleMessage) = sameChat(other.chat) +inline fun WithPreviewChat.sameChat(other: Message) = sameChat(other.chat) /** - * @return true in case if [this] message is from the same chat (with id == [chatId]) and [this] [AccessibleMessage.messageId] + * @return true in case if [this] message is from the same chat (with id == [chatId]) and [this] [Message.messageId] * equal [messageId] identifier */ @Suppress("NOTHING_TO_INLINE") -inline fun AccessibleMessage.sameMessage( +inline fun Message.sameMessage( chatId: ChatIdentifier, messageId: MessageId ) = sameChat(chatId) && this.messageId == messageId /** - * @return true in case if [this] message is from the same [chat] and [this] [AccessibleMessage.messageId] equal [messageId] + * @return true in case if [this] message is from the same [chat] and [this] [Message.messageId] equal [messageId] * identifier */ @Suppress("NOTHING_TO_INLINE") -inline fun AccessibleMessage.sameMessage( +inline fun Message.sameMessage( chat: Chat, messageId: MessageId ) = sameChat(chat) && this.messageId == messageId /** * @return true in case if [this] message is the same as [other]. The same here means that these messages from one chat - * and have equal [AccessibleMessage.messageId] identifier + * and have equal [Message.messageId] identifier */ @Suppress("NOTHING_TO_INLINE") -inline fun AccessibleMessage.sameMessage(other: AccessibleMessage) = sameMessage(other.chat, other.messageId) +inline fun Message.sameMessage(other: Message) = sameMessage(other.chat, other.messageId) /** * Thread is the same thing that topic * * @return true in case if [this] message is in the chat [chatId] and topic [threadId]. The same here means that these - * messages from one chat and have equal [AccessibleMessage.threadIdOrNull] identifier + * messages from one chat and have equal [Message.threadIdOrNull] identifier */ @Suppress("NOTHING_TO_INLINE") -inline fun AccessibleMessage.sameTopic( +inline fun Message.sameTopic( chatId: ChatIdentifier, threadId: MessageThreadId? = chatId.threadId ) = sameChat(chatId) && threadIdOrNull == threadId @@ -77,10 +77,10 @@ inline fun AccessibleMessage.sameTopic( * Thread is the same thing that topic * * @return true in case if [this] message is in the chat [chatId] and topic [threadId]. The same here means that these - * messages from one chat and have equal [AccessibleMessage.threadIdOrNull] identifier + * messages from one chat and have equal [Message.threadIdOrNull] identifier */ @Suppress("NOTHING_TO_INLINE") -inline fun AccessibleMessage.sameThread( +inline fun Message.sameThread( chatId: ChatIdentifier, threadId: MessageThreadId? = chatId.threadId ) = sameTopic(chatId, threadId) @@ -89,10 +89,10 @@ inline fun AccessibleMessage.sameThread( * Thread is the same thing that topic * * @return true in case if [this] message is from the [chat] and topic [threadId]. The same here means that these - * messages from one chat and have equal [AccessibleMessage.threadIdOrNull] identifier + * messages from one chat and have equal [Message.threadIdOrNull] identifier */ @Suppress("NOTHING_TO_INLINE") -inline fun AccessibleMessage.sameTopic( +inline fun Message.sameTopic( chat: Chat, threadId: MessageThreadId? = chat.id.threadId ) = sameTopic(chat.id, threadId) @@ -101,10 +101,10 @@ inline fun AccessibleMessage.sameTopic( * Thread is the same thing that topic * * @return true in case if [this] message is from the [chat] and topic [threadId]. The same here means that these - * messages from one chat and have equal [AccessibleMessage.threadIdOrNull] identifier + * messages from one chat and have equal [Message.threadIdOrNull] identifier */ @Suppress("NOTHING_TO_INLINE") -inline fun AccessibleMessage.sameThread( +inline fun Message.sameThread( chat: Chat, threadId: MessageThreadId? = chat.id.threadId ) = sameThread(chat.id, threadId) @@ -113,16 +113,16 @@ inline fun AccessibleMessage.sameThread( * Thread is the same thing that topic * * @return true in case if [this] message is from the same chat and topic as [other]. The same here means that these - * messages from one chat and have equal [AccessibleMessage.threadIdOrNull] identifier + * messages from one chat and have equal [Message.threadIdOrNull] identifier */ @Suppress("NOTHING_TO_INLINE") -inline fun AccessibleMessage.sameTopic(other: AccessibleMessage) = sameTopic(other.chat, other.threadIdOrNull) +inline fun Message.sameTopic(other: Message) = sameTopic(other.chat, other.threadIdOrNull) /** * Thread is the same thing that topic * * @return true in case if [this] message is in the same topic as the [other]. The same here means that these messages - * from one chat and have equal [AccessibleMessage.threadIdOrNull] identifier + * from one chat and have equal [Message.threadIdOrNull] identifier */ @Suppress("NOTHING_TO_INLINE") -inline fun AccessibleMessage.sameThread(other: AccessibleMessage) = sameTopic(other) +inline fun Message.sameThread(other: Message) = sameTopic(other) diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/raw/Message.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/raw/Message.kt index b0f918d3fc..ca069ef5c4 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/raw/Message.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/raw/Message.kt @@ -11,7 +11,6 @@ import dev.inmo.tgbotapi.types.location.Location import dev.inmo.tgbotapi.types.message.ChatEvents.* import dev.inmo.tgbotapi.types.message.ChatEvents.voice.* import dev.inmo.tgbotapi.types.message.abstracts.ConnectedFromChannelGroupContentMessage -import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage import dev.inmo.tgbotapi.types.message.abstracts.Message import dev.inmo.tgbotapi.types.message.content.TextContent import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/updates/MessageFilters.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/updates/MessageFilters.kt index 9461999457..03963a88f4 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/updates/MessageFilters.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/updates/MessageFilters.kt @@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.extensions.utils.updates import dev.inmo.tgbotapi.extensions.utils.* import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage -import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage +import dev.inmo.tgbotapi.types.message.abstracts.Message import dev.inmo.tgbotapi.types.message.content.TextContent import dev.inmo.tgbotapi.types.message.textsources.BotCommandTextSource import dev.inmo.tgbotapi.utils.extensions.threadIdOrNull @@ -58,10 +58,10 @@ fun CommonMessage<*>.hasNoCommands(): Boolean = !this.hasCommands() * } * ``` * - * @return true if this [AccessibleMessage] is from forum ([threadIdOrNull] is not null). False otherwise. + * @return true if this [Message] is from forum ([threadIdOrNull] is not null). False otherwise. * @see notForumMessage */ -fun AccessibleMessage.forumMessage(): Boolean = threadIdOrNull != null +fun Message.forumMessage(): Boolean = threadIdOrNull != null /** * A predicate to test that message has not been sent in the forum. @@ -76,7 +76,7 @@ fun AccessibleMessage.forumMessage(): Boolean = threadIdOrNull != null * } * ``` * - * @return true if this [AccessibleMessage] is not from forum ([threadIdOrNull] is not null). False otherwise. + * @return true if this [Message] is not from forum ([threadIdOrNull] is not null). False otherwise. * @see forumMessage */ -fun AccessibleMessage.notForumMessage(): Boolean = !forumMessage() +fun Message.notForumMessage(): Boolean = !forumMessage()