diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCasts.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCasts.kt index f78dbe92bf..ccb25f7023 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCasts.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCasts.kt @@ -978,346 +978,346 @@ inline fun SecureValue.requireSecureValueWithTranslations(): SecureValueWithTran this as SecureValueWithTranslations @PreviewFeature -inline fun AccessibleMessage.whenAnonymousGroupContentMessageImpl(block: (AnonymousGroupContentMessageImpl) -> T) = +inline fun Message.whenAnonymousGroupContentMessageImpl(block: (AnonymousGroupContentMessageImpl) -> T) = asAnonymousGroupContentMessageImpl()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asAnonymousGroupContentMessageImpl(): AnonymousGroupContentMessageImpl? = +inline fun Message.asAnonymousGroupContentMessageImpl(): AnonymousGroupContentMessageImpl? = this as? AnonymousGroupContentMessageImpl @PreviewFeature -inline fun AccessibleMessage.requireAnonymousGroupContentMessageImpl(): AnonymousGroupContentMessageImpl = +inline fun Message.requireAnonymousGroupContentMessageImpl(): AnonymousGroupContentMessageImpl = this as AnonymousGroupContentMessageImpl @PreviewFeature -inline fun AccessibleMessage.whenChannelContentMessageImpl(block: (UnconnectedFromChannelGroupContentMessageImpl) -> T) = +inline fun Message.whenChannelContentMessageImpl(block: (UnconnectedFromChannelGroupContentMessageImpl) -> T) = asChannelContentMessageImpl()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asChannelContentMessageImpl(): UnconnectedFromChannelGroupContentMessageImpl? = +inline fun Message.asChannelContentMessageImpl(): UnconnectedFromChannelGroupContentMessageImpl? = this as? UnconnectedFromChannelGroupContentMessageImpl @PreviewFeature -inline fun AccessibleMessage.requireChannelContentMessageImpl(): UnconnectedFromChannelGroupContentMessageImpl = +inline fun Message.requireChannelContentMessageImpl(): UnconnectedFromChannelGroupContentMessageImpl = this as UnconnectedFromChannelGroupContentMessageImpl @PreviewFeature -inline fun AccessibleMessage.whenPassportMessage(block: (PassportMessage) -> T) = asPassportMessage()?.let(block) +inline fun Message.whenPassportMessage(block: (PassportMessage) -> T) = asPassportMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asPassportMessage(): PassportMessage? = this as? PassportMessage +inline fun Message.asPassportMessage(): PassportMessage? = this as? PassportMessage @PreviewFeature -inline fun AccessibleMessage.requirePassportMessage(): PassportMessage = this as PassportMessage +inline fun Message.requirePassportMessage(): PassportMessage = this as PassportMessage @PreviewFeature -inline fun AccessibleMessage.whenPrivateContentMessageImpl(block: (PrivateContentMessageImpl) -> T) = +inline fun Message.whenPrivateContentMessageImpl(block: (PrivateContentMessageImpl) -> T) = asPrivateContentMessageImpl()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asPrivateContentMessageImpl(): PrivateContentMessageImpl? = +inline fun Message.asPrivateContentMessageImpl(): PrivateContentMessageImpl? = this as? PrivateContentMessageImpl @PreviewFeature -inline fun AccessibleMessage.requirePrivateContentMessageImpl(): PrivateContentMessageImpl = +inline fun Message.requirePrivateContentMessageImpl(): PrivateContentMessageImpl = this as PrivateContentMessageImpl @PreviewFeature -inline fun AccessibleMessage.whenChannelEventMessage(block: (ChannelEventMessage) -> T) = +inline fun Message.whenChannelEventMessage(block: (ChannelEventMessage) -> T) = asChannelEventMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asChannelEventMessage(): ChannelEventMessage? = +inline fun Message.asChannelEventMessage(): ChannelEventMessage? = this as? ChannelEventMessage @PreviewFeature -inline fun AccessibleMessage.requireChannelEventMessage(): ChannelEventMessage = +inline fun Message.requireChannelEventMessage(): ChannelEventMessage = this as ChannelEventMessage @PreviewFeature -inline fun AccessibleMessage.whenCommonGroupEventMessage(block: (CommonGroupEventMessage) -> T) = +inline fun Message.whenCommonGroupEventMessage(block: (CommonGroupEventMessage) -> T) = asCommonGroupEventMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asCommonGroupEventMessage(): CommonGroupEventMessage? = +inline fun Message.asCommonGroupEventMessage(): CommonGroupEventMessage? = this as? CommonGroupEventMessage @PreviewFeature -inline fun AccessibleMessage.requireCommonGroupEventMessage(): CommonGroupEventMessage = +inline fun Message.requireCommonGroupEventMessage(): CommonGroupEventMessage = this as CommonGroupEventMessage @PreviewFeature -inline fun AccessibleMessage.whenCommonSupergroupEventMessage(block: (CommonSupergroupEventMessage) -> T) = +inline fun Message.whenCommonSupergroupEventMessage(block: (CommonSupergroupEventMessage) -> T) = asCommonSupergroupEventMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asCommonSupergroupEventMessage(): CommonSupergroupEventMessage? = +inline fun Message.asCommonSupergroupEventMessage(): CommonSupergroupEventMessage? = this as? CommonSupergroupEventMessage @PreviewFeature -inline fun AccessibleMessage.requireCommonSupergroupEventMessage(): CommonSupergroupEventMessage = +inline fun Message.requireCommonSupergroupEventMessage(): CommonSupergroupEventMessage = this as CommonSupergroupEventMessage @PreviewFeature -inline fun AccessibleMessage.whenAnonymousGroupContentMessage(block: (AnonymousGroupContentMessage) -> T) = +inline fun Message.whenAnonymousGroupContentMessage(block: (AnonymousGroupContentMessage) -> T) = asAnonymousGroupContentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asAnonymousGroupContentMessage(): AnonymousGroupContentMessage? = +inline fun Message.asAnonymousGroupContentMessage(): AnonymousGroupContentMessage? = this as? AnonymousGroupContentMessage @PreviewFeature -inline fun AccessibleMessage.requireAnonymousGroupContentMessage(): AnonymousGroupContentMessage = +inline fun Message.requireAnonymousGroupContentMessage(): AnonymousGroupContentMessage = this as AnonymousGroupContentMessage @PreviewFeature -inline fun AccessibleMessage.whenChannelContentMessage(block: (ChannelContentMessage) -> T) = +inline fun Message.whenChannelContentMessage(block: (ChannelContentMessage) -> T) = asChannelContentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asChannelContentMessage(): ChannelContentMessage? = +inline fun Message.asChannelContentMessage(): ChannelContentMessage? = this as? ChannelContentMessage @PreviewFeature -inline fun AccessibleMessage.requireChannelContentMessage(): ChannelContentMessage = +inline fun Message.requireChannelContentMessage(): ChannelContentMessage = this as ChannelContentMessage @PreviewFeature -inline fun AccessibleMessage.whenConnectedFromChannelGroupContentMessage(block: (ConnectedFromChannelGroupContentMessage) -> T) = +inline fun Message.whenConnectedFromChannelGroupContentMessage(block: (ConnectedFromChannelGroupContentMessage) -> T) = asConnectedFromChannelGroupContentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asConnectedFromChannelGroupContentMessage(): ConnectedFromChannelGroupContentMessage? = +inline fun Message.asConnectedFromChannelGroupContentMessage(): ConnectedFromChannelGroupContentMessage? = this as? ConnectedFromChannelGroupContentMessage @PreviewFeature -inline fun AccessibleMessage.requireConnectedFromChannelGroupContentMessage(): ConnectedFromChannelGroupContentMessage = +inline fun Message.requireConnectedFromChannelGroupContentMessage(): ConnectedFromChannelGroupContentMessage = this as ConnectedFromChannelGroupContentMessage @PreviewFeature -inline fun AccessibleMessage.whenUnconnectedFromChannelGroupContentMessage(block: (UnconnectedFromChannelGroupContentMessage) -> T) = +inline fun Message.whenUnconnectedFromChannelGroupContentMessage(block: (UnconnectedFromChannelGroupContentMessage) -> T) = asUnconnectedFromChannelGroupContentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asUnconnectedFromChannelGroupContentMessage(): UnconnectedFromChannelGroupContentMessage? = +inline fun Message.asUnconnectedFromChannelGroupContentMessage(): UnconnectedFromChannelGroupContentMessage? = this as? UnconnectedFromChannelGroupContentMessage @PreviewFeature -inline fun AccessibleMessage.requireUnconnectedFromChannelGroupContentMessage(): UnconnectedFromChannelGroupContentMessage = +inline fun Message.requireUnconnectedFromChannelGroupContentMessage(): UnconnectedFromChannelGroupContentMessage = this as UnconnectedFromChannelGroupContentMessage @PreviewFeature -inline fun AccessibleMessage.whenChatEventMessage(block: (ChatEventMessage) -> T) = +inline fun Message.whenChatEventMessage(block: (ChatEventMessage) -> T) = asChatEventMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asChatEventMessage(): ChatEventMessage? = this as? ChatEventMessage +inline fun Message.asChatEventMessage(): ChatEventMessage? = this as? ChatEventMessage @PreviewFeature -inline fun AccessibleMessage.requireChatEventMessage(): ChatEventMessage = this as ChatEventMessage +inline fun Message.requireChatEventMessage(): ChatEventMessage = this as ChatEventMessage @PreviewFeature -inline fun AccessibleMessage.whenCommonGroupContentMessage(block: (CommonGroupContentMessage) -> T) = +inline fun Message.whenCommonGroupContentMessage(block: (CommonGroupContentMessage) -> T) = asCommonGroupContentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asCommonGroupContentMessage(): CommonGroupContentMessage? = +inline fun Message.asCommonGroupContentMessage(): CommonGroupContentMessage? = this as? CommonGroupContentMessage @PreviewFeature -inline fun AccessibleMessage.requireCommonGroupContentMessage(): CommonGroupContentMessage = +inline fun Message.requireCommonGroupContentMessage(): CommonGroupContentMessage = this as CommonGroupContentMessage @PreviewFeature -inline fun AccessibleMessage.whenCommonMessage(block: (CommonMessage) -> T) = asCommonMessage()?.let(block) +inline fun Message.whenCommonMessage(block: (CommonMessage) -> T) = asCommonMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asCommonMessage(): CommonMessage? = this as? CommonMessage +inline fun Message.asCommonMessage(): CommonMessage? = this as? CommonMessage @PreviewFeature -inline fun AccessibleMessage.requireCommonMessage(): CommonMessage = this as CommonMessage +inline fun Message.requireCommonMessage(): CommonMessage = this as CommonMessage @PreviewFeature -inline fun AccessibleMessage.whenContentMessage(block: (ContentMessage) -> T) = asContentMessage()?.let(block) +inline fun Message.whenContentMessage(block: (ContentMessage) -> T) = asContentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asContentMessage(): ContentMessage? = this as? ContentMessage +inline fun Message.asContentMessage(): ContentMessage? = this as? ContentMessage @PreviewFeature -inline fun AccessibleMessage.requireContentMessage(): ContentMessage = this as ContentMessage +inline fun Message.requireContentMessage(): ContentMessage = this as ContentMessage @PreviewFeature -inline fun AccessibleMessage.whenFromChannelGroupContentMessage(block: (FromChannelGroupContentMessage) -> T) = +inline fun Message.whenFromChannelGroupContentMessage(block: (FromChannelGroupContentMessage) -> T) = asFromChannelGroupContentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asFromChannelGroupContentMessage(): FromChannelGroupContentMessage? = +inline fun Message.asFromChannelGroupContentMessage(): FromChannelGroupContentMessage? = this as? FromChannelGroupContentMessage @PreviewFeature -inline fun AccessibleMessage.requireFromChannelGroupContentMessage(): FromChannelGroupContentMessage = +inline fun Message.requireFromChannelGroupContentMessage(): FromChannelGroupContentMessage = this as FromChannelGroupContentMessage @PreviewFeature -inline fun AccessibleMessage.whenGroupEventMessage(block: (GroupEventMessage) -> T) = +inline fun Message.whenGroupEventMessage(block: (GroupEventMessage) -> T) = asGroupEventMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asGroupEventMessage(): GroupEventMessage? = this as? GroupEventMessage +inline fun Message.asGroupEventMessage(): GroupEventMessage? = this as? GroupEventMessage @PreviewFeature -inline fun AccessibleMessage.requireGroupEventMessage(): GroupEventMessage = this as GroupEventMessage +inline fun Message.requireGroupEventMessage(): GroupEventMessage = this as GroupEventMessage @PreviewFeature -inline fun AccessibleMessage.whenPrivateEventMessage(block: (PrivateEventMessage) -> T) = +inline fun Message.whenPrivateEventMessage(block: (PrivateEventMessage) -> T) = asPrivateEventMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asPrivateEventMessage(): PrivateEventMessage? = +inline fun Message.asPrivateEventMessage(): PrivateEventMessage? = this as? PrivateEventMessage @PreviewFeature -inline fun AccessibleMessage.requirePrivateEventMessage(): PrivateEventMessage = +inline fun Message.requirePrivateEventMessage(): PrivateEventMessage = this as PrivateEventMessage @PreviewFeature -inline fun AccessibleMessage.whenGroupContentMessage(block: (GroupContentMessage) -> T) = +inline fun Message.whenGroupContentMessage(block: (GroupContentMessage) -> T) = asGroupContentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asGroupContentMessage(): GroupContentMessage? = +inline fun Message.asGroupContentMessage(): GroupContentMessage? = this as? GroupContentMessage @PreviewFeature -inline fun AccessibleMessage.requireGroupContentMessage(): GroupContentMessage = +inline fun Message.requireGroupContentMessage(): GroupContentMessage = this as GroupContentMessage @PreviewFeature -inline fun AccessibleMessage.whenMediaGroupMessage(block: (MediaGroupMessage) -> T) = +inline fun Message.whenMediaGroupMessage(block: (MediaGroupMessage) -> T) = asMediaGroupMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asMediaGroupMessage(): MediaGroupMessage? = +inline fun Message.asMediaGroupMessage(): MediaGroupMessage? = this as? MediaGroupMessage @PreviewFeature -inline fun AccessibleMessage.requireMediaGroupMessage(): MediaGroupMessage = +inline fun Message.requireMediaGroupMessage(): MediaGroupMessage = this as MediaGroupMessage @PreviewFeature -inline fun AccessibleMessage.whenPossiblyEditedMessage(block: (PossiblyEditedMessage) -> T) = +inline fun Message.whenPossiblyEditedMessage(block: (PossiblyEditedMessage) -> T) = asPossiblyEditedMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asPossiblyEditedMessage(): PossiblyEditedMessage? = this as? PossiblyEditedMessage +inline fun Message.asPossiblyEditedMessage(): PossiblyEditedMessage? = this as? PossiblyEditedMessage @PreviewFeature -inline fun AccessibleMessage.requirePossiblyEditedMessage(): PossiblyEditedMessage = this as PossiblyEditedMessage +inline fun Message.requirePossiblyEditedMessage(): PossiblyEditedMessage = this as PossiblyEditedMessage @PreviewFeature -inline fun AccessibleMessage.whenPossiblyReplyMessage(block: (PossiblyReplyMessage) -> T) = +inline fun Message.whenPossiblyReplyMessage(block: (PossiblyReplyMessage) -> T) = asPossiblyReplyMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asPossiblyReplyMessage(): PossiblyReplyMessage? = this as? PossiblyReplyMessage +inline fun Message.asPossiblyReplyMessage(): PossiblyReplyMessage? = this as? PossiblyReplyMessage @PreviewFeature -inline fun AccessibleMessage.requirePossiblyReplyMessage(): PossiblyReplyMessage = this as PossiblyReplyMessage +inline fun Message.requirePossiblyReplyMessage(): PossiblyReplyMessage = this as PossiblyReplyMessage @PreviewFeature -inline fun AccessibleMessage.whenPossiblyForwardedMessage(block: (PossiblyForwardedMessage) -> T) = +inline fun Message.whenPossiblyForwardedMessage(block: (PossiblyForwardedMessage) -> T) = asPossiblyForwardedMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asPossiblyForwardedMessage(): PossiblyForwardedMessage? = this as? PossiblyForwardedMessage +inline fun Message.asPossiblyForwardedMessage(): PossiblyForwardedMessage? = this as? PossiblyForwardedMessage @PreviewFeature -inline fun AccessibleMessage.requirePossiblyForwardedMessage(): PossiblyForwardedMessage = this as PossiblyForwardedMessage +inline fun Message.requirePossiblyForwardedMessage(): PossiblyForwardedMessage = this as PossiblyForwardedMessage @PreviewFeature -inline fun AccessibleMessage.whenPossiblyPaymentMessage(block: (PossiblyPaymentMessage) -> T) = +inline fun Message.whenPossiblyPaymentMessage(block: (PossiblyPaymentMessage) -> T) = asPossiblyPaymentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asPossiblyPaymentMessage(): PossiblyPaymentMessage? = this as? PossiblyPaymentMessage +inline fun Message.asPossiblyPaymentMessage(): PossiblyPaymentMessage? = this as? PossiblyPaymentMessage @PreviewFeature -inline fun AccessibleMessage.requirePossiblyPaymentMessage(): PossiblyPaymentMessage = this as PossiblyPaymentMessage +inline fun Message.requirePossiblyPaymentMessage(): PossiblyPaymentMessage = this as PossiblyPaymentMessage @PreviewFeature -inline fun AccessibleMessage.whenPrivateContentMessage(block: (PrivateContentMessage) -> T) = +inline fun Message.whenPrivateContentMessage(block: (PrivateContentMessage) -> T) = asPrivateContentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asPrivateContentMessage(): PrivateContentMessage? = +inline fun Message.asPrivateContentMessage(): PrivateContentMessage? = this as? PrivateContentMessage @PreviewFeature -inline fun AccessibleMessage.requirePrivateContentMessage(): PrivateContentMessage = +inline fun Message.requirePrivateContentMessage(): PrivateContentMessage = this as PrivateContentMessage @PreviewFeature -inline fun AccessibleMessage.whenPublicContentMessage(block: (PublicContentMessage) -> T) = +inline fun Message.whenPublicContentMessage(block: (PublicContentMessage) -> T) = asPublicContentMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asPublicContentMessage(): PublicContentMessage? = +inline fun Message.asPublicContentMessage(): PublicContentMessage? = this as? PublicContentMessage @PreviewFeature -inline fun AccessibleMessage.requirePublicContentMessage(): PublicContentMessage = +inline fun Message.requirePublicContentMessage(): PublicContentMessage = this as PublicContentMessage @PreviewFeature -inline fun AccessibleMessage.whenSignedMessage(block: (SignedMessage) -> T) = asSignedMessage()?.let(block) +inline fun Message.whenSignedMessage(block: (SignedMessage) -> T) = asSignedMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asSignedMessage(): SignedMessage? = this as? SignedMessage +inline fun Message.asSignedMessage(): SignedMessage? = this as? SignedMessage @PreviewFeature -inline fun AccessibleMessage.requireSignedMessage(): SignedMessage = this as SignedMessage +inline fun Message.requireSignedMessage(): SignedMessage = this as SignedMessage @PreviewFeature -inline fun AccessibleMessage.whenSupergroupEventMessage(block: (SupergroupEventMessage) -> T) = +inline fun Message.whenSupergroupEventMessage(block: (SupergroupEventMessage) -> T) = asSupergroupEventMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asSupergroupEventMessage(): SupergroupEventMessage? = +inline fun Message.asSupergroupEventMessage(): SupergroupEventMessage? = this as? SupergroupEventMessage @PreviewFeature -inline fun AccessibleMessage.requireSupergroupEventMessage(): SupergroupEventMessage = +inline fun Message.requireSupergroupEventMessage(): SupergroupEventMessage = this as SupergroupEventMessage @PreviewFeature -inline fun AccessibleMessage.whenUnknownMessageType(block: (UnknownMessageType) -> T) = asUnknownMessageType()?.let(block) +inline fun Message.whenUnknownMessageType(block: (UnknownMessageType) -> T) = asUnknownMessageType()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asUnknownMessageType(): UnknownMessageType? = this as? UnknownMessageType +inline fun Message.asUnknownMessageType(): UnknownMessageType? = this as? UnknownMessageType @PreviewFeature -inline fun AccessibleMessage.requireUnknownMessageType(): UnknownMessageType = this as UnknownMessageType +inline fun Message.requireUnknownMessageType(): UnknownMessageType = this as UnknownMessageType @PreviewFeature -inline fun AccessibleMessage.whenPossiblySentViaBotCommonMessage(block: (PossiblySentViaBotCommonMessage) -> T) = +inline fun Message.whenPossiblySentViaBotCommonMessage(block: (PossiblySentViaBotCommonMessage) -> T) = asPossiblySentViaBotCommonMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asPossiblySentViaBotCommonMessage(): PossiblySentViaBotCommonMessage? = +inline fun Message.asPossiblySentViaBotCommonMessage(): PossiblySentViaBotCommonMessage? = this as? PossiblySentViaBotCommonMessage @PreviewFeature -inline fun AccessibleMessage.requirePossiblySentViaBotCommonMessage(): PossiblySentViaBotCommonMessage = +inline fun Message.requirePossiblySentViaBotCommonMessage(): PossiblySentViaBotCommonMessage = this as PossiblySentViaBotCommonMessage @PreviewFeature -inline fun AccessibleMessage.whenFromUserMessage(block: (FromUserMessage) -> T) = asFromUserMessage()?.let(block) +inline fun Message.whenFromUserMessage(block: (FromUserMessage) -> T) = asFromUserMessage()?.let(block) @PreviewFeature -inline fun AccessibleMessage.asFromUserMessage(): FromUserMessage? = this as? FromUserMessage +inline fun Message.asFromUserMessage(): FromUserMessage? = this as? FromUserMessage @PreviewFeature -inline fun AccessibleMessage.requireFromUserMessage(): FromUserMessage = this as FromUserMessage +inline fun Message.requireFromUserMessage(): FromUserMessage = this as FromUserMessage @PreviewFeature inline fun BotAction.whenFindLocationAction(block: (FindLocationAction) -> T) = asFindLocationAction()?.let(block) 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 f4e20698bb..b0f918d3fc 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 @@ -23,58 +23,58 @@ import dev.inmo.tgbotapi.types.venue.Venue import dev.inmo.tgbotapi.utils.RiskFeature @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.from: User? +inline val Message.from: User? get() = asFromUser() ?.from @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.sender_chat: PublicChat? +inline val Message.sender_chat: PublicChat? get() = asFromChannelGroupContentMessage() ?.senderChat @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.forward_from: User? +inline val Message.forward_from: User? get() = asPossiblyForwardedMessage() ?.forwardInfo ?.asUserForwardInfo() ?.from @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.forward_from_chat: Chat? +inline val Message.forward_from_chat: Chat? get() = asPossiblyForwardedMessage() ?.forwardInfo ?.asForwardFromPublicChatInfo() ?.chat @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.forward_from_message_id: MessageId? +inline val Message.forward_from_message_id: MessageId? get() = asPossiblyForwardedMessage() ?.forwardInfo ?.fromChannelOrNull() ?.messageId @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.forward_signature: ForwardSignature? +inline val Message.forward_signature: ForwardSignature? get() = asPossiblyForwardedMessage() ?.forwardInfo ?.fromChannelOrNull() ?.signature @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.forward_sender_name: ForwardSenderName? +inline val Message.forward_sender_name: ForwardSenderName? get() = asPossiblyForwardedMessage() ?.forwardInfo ?.asAnonymousForwardInfo() ?.senderName @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.forward_date: TelegramDate? +inline val Message.forward_date: TelegramDate? get() = asPossiblyForwardedMessage() ?.forwardInfo ?.dateOfOriginal @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.is_automatic_forward: Boolean? +inline val Message.is_automatic_forward: Boolean? get() = this is ConnectedFromChannelGroupContentMessage<*> @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.reply_to_message: Message? +inline val Message.reply_to_message: Message? get() = asPossiblyReplyMessage() ?.replyTo @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.via_bot: CommonBot? +inline val Message.via_bot: CommonBot? get() = asPossiblySentViaBotCommonMessage() ?.senderBot @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.edit_date: TelegramDate? +inline val Message.edit_date: TelegramDate? get() = asPossiblyEditedMessage() ?.editDate ?.toTelegramDate() @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.has_protected_content: Boolean? +inline val Message.has_protected_content: Boolean? get() = asContentMessage() ?.hasProtectedContent @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.media_group_id: MediaGroupIdentifier? +inline val Message.media_group_id: MediaGroupIdentifier? get() = asMediaGroupMessage() ?.mediaGroupId @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.author_signature: AuthorSignature? +inline val Message.author_signature: AuthorSignature? get() = asSignedMessage() ?.authorSignature @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.text: String? +inline val Message.text: String? get() = asContentMessage() ?.content ?.asTextContent() ?.text @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.entities: TextSourcesList? +inline val Message.entities: TextSourcesList? get() = asContentMessage() ?.content ?.asTextContent() ?.textSources @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.caption: String? +inline val Message.caption: String? get() = whenContentMessage { if (it.content !is TextContent) { it.content.asTextedInput() ?.text @@ -83,7 +83,7 @@ inline val AccessibleMessage.caption: String? } } @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.caption_entities: TextSourcesList? +inline val Message.caption_entities: TextSourcesList? get() = whenContentMessage { if (it.content !is TextContent) { it.content.asTextedInput() ?.textSources @@ -92,117 +92,117 @@ inline val AccessibleMessage.caption_entities: TextSourcesList? } } @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.audio: AudioFile? +inline val Message.audio: AudioFile? get() = asContentMessage() ?.content ?.asAudioContent() ?.media @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.document: DocumentFile? +inline val Message.document: DocumentFile? get() = asContentMessage() ?.content ?.asDocumentContent() ?.media @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.animation: AnimationFile? +inline val Message.animation: AnimationFile? get() = asContentMessage() ?.content ?.asAnimationContent() ?.media @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.game: Game? +inline val Message.game: Game? get() = asContentMessage() ?.content ?.asGameContent() ?.game @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.photo: Photo? +inline val Message.photo: Photo? get() = asContentMessage() ?.content ?.asPhotoContent() ?.mediaCollection @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.sticker: Sticker? +inline val Message.sticker: Sticker? get() = asContentMessage() ?.content ?.asStickerContent() ?.media @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.video: VideoFile? +inline val Message.video: VideoFile? get() = asContentMessage() ?.content ?.asVideoContent() ?.media @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.voice: VoiceFile? +inline val Message.voice: VoiceFile? get() = asContentMessage() ?.content ?.asVoiceContent() ?.media @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.video_note: VideoNoteFile? +inline val Message.video_note: VideoNoteFile? get() = asContentMessage() ?.content ?.asVideoNoteContent() ?.media @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.contact: Contact? +inline val Message.contact: Contact? get() = asContentMessage() ?.content ?.asContactContent() ?.contact @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.location: Location? +inline val Message.location: Location? get() = asContentMessage() ?.content ?.asLocationContent() ?.location @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.venue: Venue? +inline val Message.venue: Venue? get() = asContentMessage() ?.content ?.asVenueContent() ?.venue @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.poll: Poll? +inline val Message.poll: Poll? get() = asContentMessage() ?.content ?.asPollContent() ?.poll @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.invoice: Invoice? +inline val Message.invoice: Invoice? get() = asContentMessage() ?.content ?.asInvoiceContent() ?.invoice @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.dice: Dice? +inline val Message.dice: Dice? get() = asContentMessage() ?.content ?.asDiceContent() ?.dice @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.new_chat_members: List? +inline val Message.new_chat_members: List? get() = asChatEventMessage() ?.chatEvent ?.asNewChatMembers() ?.members @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.left_chat_member: User? +inline val Message.left_chat_member: User? get() = asChatEventMessage() ?.chatEvent ?.asLeftChatMember() ?.user @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.new_chat_title: String? +inline val Message.new_chat_title: String? get() = asChatEventMessage() ?.chatEvent ?.asNewChatTitle() ?.title @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.new_chat_photo: Photo? +inline val Message.new_chat_photo: Photo? get() = asChatEventMessage() ?.chatEvent ?.asNewChatPhoto() ?.photo @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.delete_chat_photo: Boolean +inline val Message.delete_chat_photo: Boolean get() = asChatEventMessage() ?.chatEvent is DeleteChatPhoto @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.group_chat_created: Boolean +inline val Message.group_chat_created: Boolean get() = asChatEventMessage() ?.chatEvent is GroupChatCreated @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.supergroup_chat_created: Boolean +inline val Message.supergroup_chat_created: Boolean get() = asChatEventMessage() ?.chatEvent is SupergroupChatCreated @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.channel_chat_created: Boolean +inline val Message.channel_chat_created: Boolean get() = asChatEventMessage() ?.chatEvent is ChannelChatCreated @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.migrate_to_chat_id: IdChatIdentifier? +inline val Message.migrate_to_chat_id: IdChatIdentifier? get() = asChatEventMessage() ?.chatEvent ?.asGroupChatCreated() ?.migratedTo @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.migrate_from_chat_id: IdChatIdentifier? +inline val Message.migrate_from_chat_id: IdChatIdentifier? get() = asChatEventMessage() ?.chatEvent ?.let { it ?.asSupergroupChatCreated() ?.migratedFrom ?: it ?.asMigratedToSupergroup() ?.migratedFrom } @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.pinned_message: Message? +inline val Message.pinned_message: Message? get() = asChatEventMessage() ?.chatEvent ?.asPinnedMessage() ?.message @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.successful_payment: SuccessfulPayment? +inline val Message.successful_payment: SuccessfulPayment? get() = asChatEventMessage() ?.chatEvent ?.asSuccessfulPaymentEvent() ?.payment @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.video_chat_scheduled: VideoChatScheduled? +inline val Message.video_chat_scheduled: VideoChatScheduled? get() = asChatEventMessage() ?.chatEvent ?.asVideoChatScheduled() @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.video_chat_started: VideoChatStarted? +inline val Message.video_chat_started: VideoChatStarted? get() = asChatEventMessage() ?.chatEvent ?.asVideoChatStarted() @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.video_chat_ended: VideoChatEnded? +inline val Message.video_chat_ended: VideoChatEnded? get() = asChatEventMessage() ?.chatEvent ?.asVideoChatEnded() @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.video_chat_participants_invited: VideoChatParticipantsInvited? +inline val Message.video_chat_participants_invited: VideoChatParticipantsInvited? get() = asChatEventMessage() ?.chatEvent ?.asVideoChatParticipantsInvited() @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.message_auto_delete_timer_changed: MessageAutoDeleteTimerChanged? +inline val Message.message_auto_delete_timer_changed: MessageAutoDeleteTimerChanged? get() = asChatEventMessage() ?.chatEvent ?.asMessageAutoDeleteTimerChanged() @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.connected_website: String? +inline val Message.connected_website: String? get() = asChatEventMessage() ?.chatEvent ?.asUserLoggedIn() ?.domain @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.proximity_alert_triggered: ProximityAlertTriggered? +inline val Message.proximity_alert_triggered: ProximityAlertTriggered? get() = asChatEventMessage() ?.chatEvent ?.asProximityAlertTriggered() @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.passport_data: PassportData? +inline val Message.passport_data: PassportData? get() = asPassportMessage() ?.passportData @RiskFeature(RawFieldsUsageWarning) -inline val AccessibleMessage.reply_markup: InlineKeyboardMarkup? +inline val Message.reply_markup: InlineKeyboardMarkup? get() = asCommonMessage() ?.replyMarkup