@file:Suppress( "unused", "RemoveRedundantQualifierName", "RedundantVisibilityModifier", "NOTHING_TO_INLINE", "UNCHECKED_CAST", "OPT_IN_USAGE", ) package dev.inmo.tgbotapi.extensions.utils import dev.inmo.tgbotapi.abstracts.CommonSendInvoiceData import dev.inmo.tgbotapi.abstracts.FromUser import dev.inmo.tgbotapi.abstracts.WithUser import dev.inmo.tgbotapi.requests.answers.InlineQueryResultsButton import dev.inmo.tgbotapi.requests.send.payments.CreateInvoiceLink import dev.inmo.tgbotapi.requests.send.payments.SendInvoice import dev.inmo.tgbotapi.requests.stickers.InputSticker import dev.inmo.tgbotapi.types.BackgroundFill import dev.inmo.tgbotapi.types.BackgroundType import dev.inmo.tgbotapi.types.BusinessChatId import dev.inmo.tgbotapi.types.ChatId import dev.inmo.tgbotapi.types.ChatIdWithThreadId import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.ChatInviteLink import dev.inmo.tgbotapi.types.ChatInviteLinkUnlimited import dev.inmo.tgbotapi.types.ChatInviteLinkWithJoinRequest import dev.inmo.tgbotapi.types.ChatInviteLinkWithLimitedMembers import dev.inmo.tgbotapi.types.IdChatIdentifier import dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.BaseChosenInlineResult import dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.ChosenInlineResult import dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.LocationChosenInlineResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultArticle import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultContact import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultGame import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultLocation import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultStickerCached import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultVenue import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.DescribedInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.FileInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.InlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.OptionallyTitledInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.SizedInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbSizedInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbedInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbedWithMimeTypeInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.TitledInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.UrlInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.WithInputMessageContentInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudio import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudioCached import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudioCommon import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.document.InlineQueryResultDocument import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.document.InlineQueryResultDocumentCached import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.document.InlineQueryResultDocumentCommon import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.gif.InlineQueryResultGif import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.gif.InlineQueryResultGifCached import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.gif.InlineQueryResultGifCommon import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.mpeg4gif.InlineQueryResultMpeg4Gif import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.mpeg4gif.InlineQueryResultMpeg4GifCached import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.mpeg4gif.InlineQueryResultMpeg4GifCommon import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.photo.InlineQueryResultPhoto import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.photo.InlineQueryResultPhotoCached import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.photo.InlineQueryResultPhotoCommon import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideo import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideoCached import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideoCommon import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.voice.InlineQueryResultVoice import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.voice.InlineQueryResultVoiceCached import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.voice.InlineQueryResultVoiceCommon import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputContactMessageContent import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputInvoiceMessageContent import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputLocationMessageContent import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputMessageContent import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputTextMessageContent import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputVenueMessageContent import dev.inmo.tgbotapi.types.InlineQueries.query.BaseInlineQuery import dev.inmo.tgbotapi.types.InlineQueries.query.InlineQuery import dev.inmo.tgbotapi.types.InlineQueries.query.LocationInlineQuery import dev.inmo.tgbotapi.types.PrimaryInviteLink import dev.inmo.tgbotapi.types.ReplyInfo import dev.inmo.tgbotapi.types.SecondaryChatInviteLink import dev.inmo.tgbotapi.types.Username import dev.inmo.tgbotapi.types.actions.BotAction import dev.inmo.tgbotapi.types.actions.ChooseStickerAction import dev.inmo.tgbotapi.types.actions.CustomBotAction import dev.inmo.tgbotapi.types.actions.FindLocationAction import dev.inmo.tgbotapi.types.actions.RecordVideoAction import dev.inmo.tgbotapi.types.actions.RecordVideoNoteAction import dev.inmo.tgbotapi.types.actions.RecordVoiceAction import dev.inmo.tgbotapi.types.actions.TypingAction import dev.inmo.tgbotapi.types.actions.UploadDocumentAction import dev.inmo.tgbotapi.types.actions.UploadPhotoAction import dev.inmo.tgbotapi.types.actions.UploadVideoAction import dev.inmo.tgbotapi.types.actions.UploadVideoNoteAction import dev.inmo.tgbotapi.types.actions.UploadVoiceAction import dev.inmo.tgbotapi.types.boosts.ChatBoostSource import dev.inmo.tgbotapi.types.business_connection.BusinessConnection import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackDataInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackGameInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.LoginURLInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.PayInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.SwitchInlineQueryChosenChatInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.SwitchInlineQueryCurrentChatInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.SwitchInlineQueryInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.URLInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.UnknownInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.WebAppInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup import dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUsers import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup import dev.inmo.tgbotapi.types.buttons.ReplyForce import dev.inmo.tgbotapi.types.buttons.ReplyKeyboardMarkup import dev.inmo.tgbotapi.types.buttons.ReplyKeyboardRemove import dev.inmo.tgbotapi.types.chat.AbleToAddInAttachmentMenuChat import dev.inmo.tgbotapi.types.chat.Bot import dev.inmo.tgbotapi.types.chat.BusinessChat import dev.inmo.tgbotapi.types.chat.ChannelChat import dev.inmo.tgbotapi.types.chat.Chat import dev.inmo.tgbotapi.types.chat.ChatBackground import dev.inmo.tgbotapi.types.chat.ChatJoinRequest import dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated import dev.inmo.tgbotapi.types.chat.CommonBot import dev.inmo.tgbotapi.types.chat.CommonUser import dev.inmo.tgbotapi.types.chat.ExtendedBot import dev.inmo.tgbotapi.types.chat.ExtendedBusinessChat import dev.inmo.tgbotapi.types.chat.ExtendedChannelChat import dev.inmo.tgbotapi.types.chat.ExtendedChat import dev.inmo.tgbotapi.types.chat.ExtendedChatWithUsername import dev.inmo.tgbotapi.types.chat.ExtendedForumChat import dev.inmo.tgbotapi.types.chat.ExtendedGroupChat import dev.inmo.tgbotapi.types.chat.ExtendedNonBotChat import dev.inmo.tgbotapi.types.chat.ExtendedPrivateChat import dev.inmo.tgbotapi.types.chat.ExtendedPublicChat import dev.inmo.tgbotapi.types.chat.ExtendedSupergroupChat import dev.inmo.tgbotapi.types.chat.ForumChat import dev.inmo.tgbotapi.types.chat.GroupChat import dev.inmo.tgbotapi.types.chat.PossiblyPremiumChat import dev.inmo.tgbotapi.types.chat.PreviewBot import dev.inmo.tgbotapi.types.chat.PreviewBusinessChat import dev.inmo.tgbotapi.types.chat.PreviewChannelChat import dev.inmo.tgbotapi.types.chat.PreviewChat import dev.inmo.tgbotapi.types.chat.PreviewForumChat import dev.inmo.tgbotapi.types.chat.PreviewGroupChat import dev.inmo.tgbotapi.types.chat.PreviewPrivateChat import dev.inmo.tgbotapi.types.chat.PreviewPublicChat import dev.inmo.tgbotapi.types.chat.PreviewSuperPublicChat import dev.inmo.tgbotapi.types.chat.PreviewSupergroupChat import dev.inmo.tgbotapi.types.chat.PreviewUser import dev.inmo.tgbotapi.types.chat.PreviewUsernameChat import dev.inmo.tgbotapi.types.chat.PrivateChat import dev.inmo.tgbotapi.types.chat.PublicChat import dev.inmo.tgbotapi.types.chat.SuperPublicChat import dev.inmo.tgbotapi.types.chat.SupergroupChat import dev.inmo.tgbotapi.types.chat.UnknownChatType import dev.inmo.tgbotapi.types.chat.UnknownExtendedChat import dev.inmo.tgbotapi.types.chat.User import dev.inmo.tgbotapi.types.chat.UsernameChat import dev.inmo.tgbotapi.types.chat.member.AdministratorChatMember import dev.inmo.tgbotapi.types.chat.member.BannedChatMember import dev.inmo.tgbotapi.types.chat.member.ChatMember import dev.inmo.tgbotapi.types.chat.member.ChatMemberUpdated import dev.inmo.tgbotapi.types.chat.member.KickedChatMember import dev.inmo.tgbotapi.types.chat.member.LeftChatMember import dev.inmo.tgbotapi.types.chat.member.MemberChatMember import dev.inmo.tgbotapi.types.chat.member.OwnerChatMember import dev.inmo.tgbotapi.types.chat.member.RestrictedChatMember import dev.inmo.tgbotapi.types.chat.member.SpecialRightsChatMember import dev.inmo.tgbotapi.types.dice.BasketballDiceAnimationType import dev.inmo.tgbotapi.types.dice.BowlingDiceAnimationType import dev.inmo.tgbotapi.types.dice.CubeDiceAnimationType import dev.inmo.tgbotapi.types.dice.CustomDiceAnimationType import dev.inmo.tgbotapi.types.dice.DartsDiceAnimationType import dev.inmo.tgbotapi.types.dice.DiceAnimationType import dev.inmo.tgbotapi.types.dice.FootballDiceAnimationType import dev.inmo.tgbotapi.types.dice.SlotMachineDiceAnimationType import dev.inmo.tgbotapi.types.files.AnimatedSticker import dev.inmo.tgbotapi.types.files.AnimationFile import dev.inmo.tgbotapi.types.files.AudioFile import dev.inmo.tgbotapi.types.files.CustomEmojiAnimatedSticker import dev.inmo.tgbotapi.types.files.CustomEmojiSimpleSticker import dev.inmo.tgbotapi.types.files.CustomEmojiSticker import dev.inmo.tgbotapi.types.files.CustomEmojiVideoSticker import dev.inmo.tgbotapi.types.files.DocumentFile import dev.inmo.tgbotapi.types.files.File import dev.inmo.tgbotapi.types.files.MaskAnimatedSticker import dev.inmo.tgbotapi.types.files.MaskSimpleSticker import dev.inmo.tgbotapi.types.files.MaskSticker import dev.inmo.tgbotapi.types.files.MaskVideoSticker import dev.inmo.tgbotapi.types.files.MediaContentVariant import dev.inmo.tgbotapi.types.files.MimedMediaFile import dev.inmo.tgbotapi.types.files.PassportFile import dev.inmo.tgbotapi.types.files.PathedFile import dev.inmo.tgbotapi.types.files.Photo import dev.inmo.tgbotapi.types.files.PhotoSize import dev.inmo.tgbotapi.types.files.PlayableMediaFile import dev.inmo.tgbotapi.types.files.RegularAnimatedSticker import dev.inmo.tgbotapi.types.files.RegularSimpleSticker import dev.inmo.tgbotapi.types.files.RegularSticker import dev.inmo.tgbotapi.types.files.RegularVideoSticker import dev.inmo.tgbotapi.types.files.SizedMediaFile import dev.inmo.tgbotapi.types.files.Sticker import dev.inmo.tgbotapi.types.files.TelegramMediaFile import dev.inmo.tgbotapi.types.files.ThumbedMediaFile import dev.inmo.tgbotapi.types.files.UnknownSticker import dev.inmo.tgbotapi.types.files.VideoFile import dev.inmo.tgbotapi.types.files.VideoNoteFile import dev.inmo.tgbotapi.types.files.VideoSticker import dev.inmo.tgbotapi.types.files.VoiceFile import dev.inmo.tgbotapi.types.giveaway.GiveawayCreated import dev.inmo.tgbotapi.types.giveaway.GiveawayPrivateResults import dev.inmo.tgbotapi.types.location.LiveLocation import dev.inmo.tgbotapi.types.location.Location import dev.inmo.tgbotapi.types.location.StaticLocation import dev.inmo.tgbotapi.types.media.AudioMediaGroupMemberTelegramMedia import dev.inmo.tgbotapi.types.media.DocumentMediaGroupMemberTelegramMedia import dev.inmo.tgbotapi.types.media.DuratedTelegramMedia import dev.inmo.tgbotapi.types.media.MediaGroupMemberTelegramMedia import dev.inmo.tgbotapi.types.media.SizedTelegramMedia import dev.inmo.tgbotapi.types.media.SpoilerableTelegramMedia import dev.inmo.tgbotapi.types.media.TelegramMedia import dev.inmo.tgbotapi.types.media.TelegramMediaAnimation import dev.inmo.tgbotapi.types.media.TelegramMediaAudio import dev.inmo.tgbotapi.types.media.TelegramMediaDocument import dev.inmo.tgbotapi.types.media.TelegramMediaPhoto import dev.inmo.tgbotapi.types.media.TelegramMediaVideo import dev.inmo.tgbotapi.types.media.ThumbedTelegramMedia import dev.inmo.tgbotapi.types.media.TitledTelegramMedia import dev.inmo.tgbotapi.types.media.VisualMediaGroupMemberTelegramMedia import dev.inmo.tgbotapi.types.message.ChannelEventMessage import dev.inmo.tgbotapi.types.message.ChatEvents.ChannelChatCreated import dev.inmo.tgbotapi.types.message.ChatEvents.ChatBoostAdded import dev.inmo.tgbotapi.types.message.ChatEvents.DeleteChatPhoto import dev.inmo.tgbotapi.types.message.ChatEvents.GroupChatCreated import dev.inmo.tgbotapi.types.message.ChatEvents.LeftChatMemberEvent import dev.inmo.tgbotapi.types.message.ChatEvents.MessageAutoDeleteTimerChanged import dev.inmo.tgbotapi.types.message.ChatEvents.MigratedToSupergroup import dev.inmo.tgbotapi.types.message.ChatEvents.NewChatMembers import dev.inmo.tgbotapi.types.message.ChatEvents.NewChatPhoto import dev.inmo.tgbotapi.types.message.ChatEvents.NewChatTitle import dev.inmo.tgbotapi.types.message.ChatEvents.PinnedMessage import dev.inmo.tgbotapi.types.message.ChatEvents.ProximityAlertTriggered import dev.inmo.tgbotapi.types.message.ChatEvents.SupergroupChatCreated import dev.inmo.tgbotapi.types.message.ChatEvents.UserLoggedIn import dev.inmo.tgbotapi.types.message.ChatEvents.WebAppData import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChatEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ForumEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.GroupEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PrivateEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.SupergroupEvent import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.VideoChatEvent import dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicClosed import dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicCreated import dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicEdited import dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicReopened import dev.inmo.tgbotapi.types.message.ChatEvents.forum.GeneralForumTopicHidden import dev.inmo.tgbotapi.types.message.ChatEvents.forum.GeneralForumTopicUnhidden import dev.inmo.tgbotapi.types.message.ChatEvents.forum.WriteAccessAllowed import dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatEnded import dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatParticipantsInvited import dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatScheduled import dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatStarted import dev.inmo.tgbotapi.types.message.CommonGroupEventMessage 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.AnonymousForumContentMessage import dev.inmo.tgbotapi.types.message.abstracts.AnonymousGroupContentMessage import dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage import dev.inmo.tgbotapi.types.message.abstracts.ChannelContentMessage import dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage import dev.inmo.tgbotapi.types.message.abstracts.CommonForumContentMessage import dev.inmo.tgbotapi.types.message.abstracts.CommonGroupContentMessage import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage import dev.inmo.tgbotapi.types.message.abstracts.ConnectedFromChannelGroupContentMessage import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage import dev.inmo.tgbotapi.types.message.abstracts.ForumContentMessage import dev.inmo.tgbotapi.types.message.abstracts.FromChannelForumContentMessage import dev.inmo.tgbotapi.types.message.abstracts.FromChannelGroupContentMessage import dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage import dev.inmo.tgbotapi.types.message.abstracts.GroupContentMessage import dev.inmo.tgbotapi.types.message.abstracts.GroupEventMessage import dev.inmo.tgbotapi.types.message.abstracts.InaccessibleMessage import dev.inmo.tgbotapi.types.message.abstracts.Message import dev.inmo.tgbotapi.types.message.abstracts.PossiblyEditedMessage import dev.inmo.tgbotapi.types.message.abstracts.PossiblyForwardedMessage import dev.inmo.tgbotapi.types.message.abstracts.PossiblyMediaGroupMessage import dev.inmo.tgbotapi.types.message.abstracts.PossiblyOfflineMessage import dev.inmo.tgbotapi.types.message.abstracts.PossiblyPaymentMessage import dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage import dev.inmo.tgbotapi.types.message.abstracts.PossiblyTopicMessage import dev.inmo.tgbotapi.types.message.abstracts.PotentiallyFromUserGroupContentMessage import dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage import dev.inmo.tgbotapi.types.message.abstracts.PublicContentMessage import dev.inmo.tgbotapi.types.message.abstracts.SignedMessage import dev.inmo.tgbotapi.types.message.abstracts.SupergroupEventMessage import dev.inmo.tgbotapi.types.message.abstracts.UnconnectedFromChannelGroupContentMessage import dev.inmo.tgbotapi.types.message.abstracts.UnknownMessageType import dev.inmo.tgbotapi.types.message.content.AnimationContent import dev.inmo.tgbotapi.types.message.content.AudioContent import dev.inmo.tgbotapi.types.message.content.AudioMediaGroupPartContent import dev.inmo.tgbotapi.types.message.content.ContactContent import dev.inmo.tgbotapi.types.message.content.DiceContent import dev.inmo.tgbotapi.types.message.content.DocumentContent import dev.inmo.tgbotapi.types.message.content.DocumentMediaGroupPartContent import dev.inmo.tgbotapi.types.message.content.GameContent import dev.inmo.tgbotapi.types.message.content.GiveawayContent import dev.inmo.tgbotapi.types.message.content.GiveawayPublicResultsContent import dev.inmo.tgbotapi.types.message.content.InvoiceContent import dev.inmo.tgbotapi.types.message.content.LiveLocationContent import dev.inmo.tgbotapi.types.message.content.LocationContent import dev.inmo.tgbotapi.types.message.content.MediaCollectionContent import dev.inmo.tgbotapi.types.message.content.MediaContent import dev.inmo.tgbotapi.types.message.content.MediaGroupCollectionContent import dev.inmo.tgbotapi.types.message.content.MediaGroupContent import dev.inmo.tgbotapi.types.message.content.MediaGroupPartContent import dev.inmo.tgbotapi.types.message.content.MessageContent import dev.inmo.tgbotapi.types.message.content.PhotoContent import dev.inmo.tgbotapi.types.message.content.PollContent import dev.inmo.tgbotapi.types.message.content.ResendableContent import dev.inmo.tgbotapi.types.message.content.SpoilerableMediaContent import dev.inmo.tgbotapi.types.message.content.StaticLocationContent import dev.inmo.tgbotapi.types.message.content.StickerContent import dev.inmo.tgbotapi.types.message.content.StoryContent import dev.inmo.tgbotapi.types.message.content.TextContent import dev.inmo.tgbotapi.types.message.content.TextedContent import dev.inmo.tgbotapi.types.message.content.TextedMediaContent import dev.inmo.tgbotapi.types.message.content.VenueContent import dev.inmo.tgbotapi.types.message.content.VideoContent import dev.inmo.tgbotapi.types.message.content.VideoNoteContent import dev.inmo.tgbotapi.types.message.content.VisualMediaGroupPartContent import dev.inmo.tgbotapi.types.message.content.VoiceContent import dev.inmo.tgbotapi.types.message.payments.SuccessfulPaymentEvent import dev.inmo.tgbotapi.types.message.textsources.BlockquoteTextSource import dev.inmo.tgbotapi.types.message.textsources.BoldTextSource import dev.inmo.tgbotapi.types.message.textsources.BotCommandTextSource import dev.inmo.tgbotapi.types.message.textsources.CashTagTextSource import dev.inmo.tgbotapi.types.message.textsources.CodeTextSource import dev.inmo.tgbotapi.types.message.textsources.CustomEmojiTextSource import dev.inmo.tgbotapi.types.message.textsources.EMailTextSource import dev.inmo.tgbotapi.types.message.textsources.HashTagTextSource import dev.inmo.tgbotapi.types.message.textsources.ItalicTextSource import dev.inmo.tgbotapi.types.message.textsources.MentionTextSource import dev.inmo.tgbotapi.types.message.textsources.MultilevelTextSource import dev.inmo.tgbotapi.types.message.textsources.PhoneNumberTextSource import dev.inmo.tgbotapi.types.message.textsources.PreTextSource import dev.inmo.tgbotapi.types.message.textsources.RegularTextSource import dev.inmo.tgbotapi.types.message.textsources.SpoilerTextSource import dev.inmo.tgbotapi.types.message.textsources.StrikethroughTextSource import dev.inmo.tgbotapi.types.message.textsources.TextLinkTextSource import dev.inmo.tgbotapi.types.message.textsources.TextMentionTextSource import dev.inmo.tgbotapi.types.message.textsources.TextSource import dev.inmo.tgbotapi.types.message.textsources.URLTextSource import dev.inmo.tgbotapi.types.message.textsources.UnderlineTextSource import dev.inmo.tgbotapi.types.passport.PassportElementError import dev.inmo.tgbotapi.types.passport.PassportElementErrorDataField import dev.inmo.tgbotapi.types.passport.PassportElementErrorFile import dev.inmo.tgbotapi.types.passport.PassportElementErrorFiles import dev.inmo.tgbotapi.types.passport.PassportElementErrorFrontSide import dev.inmo.tgbotapi.types.passport.PassportElementErrorReverseSide import dev.inmo.tgbotapi.types.passport.PassportElementErrorSelfie import dev.inmo.tgbotapi.types.passport.PassportElementErrorTranslationFile import dev.inmo.tgbotapi.types.passport.PassportElementErrorTranslationFiles import dev.inmo.tgbotapi.types.passport.PassportElementErrorUnspecified import dev.inmo.tgbotapi.types.passport.PassportElementFileError import dev.inmo.tgbotapi.types.passport.PassportElementFilesError import dev.inmo.tgbotapi.types.passport.PassportMultipleElementsError import dev.inmo.tgbotapi.types.passport.PassportSingleElementError import dev.inmo.tgbotapi.types.passport.UnknownPassportElementError import dev.inmo.tgbotapi.types.passport.decrypted.AddressSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.BankStatementSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.CommonPassportSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.DriverLicenseSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.IdentityCardSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.IdentityWithReverseSideSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.InternalPassportSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.OtherDocumentsSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.PassportRegistrationSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.PassportSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.PersonalDetailsSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.RentalAgreementSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.TemporalRegistrationSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.UtilityBillSecureValue import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValue import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueIdentity import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithData import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithFiles import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithReverseSide import dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithTranslations import dev.inmo.tgbotapi.types.passport.encrypted.BankStatement import dev.inmo.tgbotapi.types.passport.encrypted.CommonPassport import dev.inmo.tgbotapi.types.passport.encrypted.DriverLicense import dev.inmo.tgbotapi.types.passport.encrypted.Email import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedAddress import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedPassportElementWithTranslatableFilesCollection import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedPassportElementWithTranslatableIDDocument import dev.inmo.tgbotapi.types.passport.encrypted.EncryptedPersonalDetails import dev.inmo.tgbotapi.types.passport.encrypted.IdentityCard import dev.inmo.tgbotapi.types.passport.encrypted.InternalPassport import dev.inmo.tgbotapi.types.passport.encrypted.Passport import dev.inmo.tgbotapi.types.passport.encrypted.PassportRegistration import dev.inmo.tgbotapi.types.passport.encrypted.PhoneNumber import dev.inmo.tgbotapi.types.passport.encrypted.RentalAgreement import dev.inmo.tgbotapi.types.passport.encrypted.TemporaryRegistration import dev.inmo.tgbotapi.types.passport.encrypted.UtilityBill import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElement import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementTranslatable import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithData import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithEmail import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithFilesCollection import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithFrontSide import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithPhoneNumber import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithReverseSide import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithSelfie import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.UnknownEncryptedPassportElement import dev.inmo.tgbotapi.types.payments.PreCheckoutQuery import dev.inmo.tgbotapi.types.payments.ShippingQuery import dev.inmo.tgbotapi.types.polls.ApproximateScheduledCloseInfo import dev.inmo.tgbotapi.types.polls.ExactScheduledCloseInfo import dev.inmo.tgbotapi.types.polls.MultipleAnswersPoll import dev.inmo.tgbotapi.types.polls.Poll import dev.inmo.tgbotapi.types.polls.PollAnswer import dev.inmo.tgbotapi.types.polls.QuizPoll import dev.inmo.tgbotapi.types.polls.RegularPoll import dev.inmo.tgbotapi.types.polls.ScheduledCloseInfo import dev.inmo.tgbotapi.types.polls.UnknownPollType import dev.inmo.tgbotapi.types.queries.callback.AbstractMessageCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.CallbackQuery import dev.inmo.tgbotapi.types.queries.callback.DataCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.GameShortNameCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.InaccessibleMessageCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.InaccessibleMessageDataCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.InaccessibleMessageGameShortNameCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.InlineMessageIdCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.InlineMessageIdDataCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.InlineMessageIdGameShortNameCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.MessageCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.MessageDataCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.MessageGameShortNameCallbackQuery import dev.inmo.tgbotapi.types.queries.callback.UnknownCallbackQueryType import dev.inmo.tgbotapi.types.reactions.Reaction import dev.inmo.tgbotapi.types.request.ChatShared import dev.inmo.tgbotapi.types.request.ChatSharedRequest import dev.inmo.tgbotapi.types.request.RequestResponse import dev.inmo.tgbotapi.types.request.UsersShared import dev.inmo.tgbotapi.types.update.BusinessConnectionUpdate import dev.inmo.tgbotapi.types.update.BusinessMessageUpdate import dev.inmo.tgbotapi.types.update.CallbackQueryUpdate import dev.inmo.tgbotapi.types.update.ChannelPostUpdate import dev.inmo.tgbotapi.types.update.ChatBoostRemovedUpdate import dev.inmo.tgbotapi.types.update.ChatBoostUpdatedUpdate import dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate import dev.inmo.tgbotapi.types.update.ChatMessageReactionUpdatedUpdate import dev.inmo.tgbotapi.types.update.ChatMessageReactionsCountUpdatedUpdate import dev.inmo.tgbotapi.types.update.ChosenInlineResultUpdate import dev.inmo.tgbotapi.types.update.CommonChatMemberUpdatedUpdate import dev.inmo.tgbotapi.types.update.DeletedBusinessMessageUpdate import dev.inmo.tgbotapi.types.update.EditBusinessMessageUpdate import dev.inmo.tgbotapi.types.update.EditChannelPostUpdate import dev.inmo.tgbotapi.types.update.EditMessageUpdate import dev.inmo.tgbotapi.types.update.InlineQueryUpdate import dev.inmo.tgbotapi.types.update.MessageUpdate import dev.inmo.tgbotapi.types.update.MyChatMemberUpdatedUpdate import dev.inmo.tgbotapi.types.update.PollAnswerUpdate import dev.inmo.tgbotapi.types.update.PollUpdate import dev.inmo.tgbotapi.types.update.PreCheckoutQueryUpdate import dev.inmo.tgbotapi.types.update.ShippingQueryUpdate import dev.inmo.tgbotapi.types.update.abstracts.BaseEditMessageUpdate import dev.inmo.tgbotapi.types.update.abstracts.BaseMessageUpdate import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate import dev.inmo.tgbotapi.types.update.abstracts.ChatMemberUpdatedUpdate import dev.inmo.tgbotapi.types.update.abstracts.UnknownUpdate import dev.inmo.tgbotapi.types.update.abstracts.Update import kotlin.Suppress public inline fun CommonSendInvoiceData.createInvoiceLinkOrNull(): CreateInvoiceLink? = this as? dev.inmo.tgbotapi.requests.send.payments.CreateInvoiceLink public inline fun CommonSendInvoiceData.createInvoiceLinkOrThrow(): CreateInvoiceLink = this as dev.inmo.tgbotapi.requests.send.payments.CreateInvoiceLink public inline fun CommonSendInvoiceData.ifCreateInvoiceLink(block: (CreateInvoiceLink) -> T): T? = createInvoiceLinkOrNull() ?.let(block) public inline fun CommonSendInvoiceData.sendInvoiceOrNull(): SendInvoice? = this as? dev.inmo.tgbotapi.requests.send.payments.SendInvoice public inline fun CommonSendInvoiceData.sendInvoiceOrThrow(): SendInvoice = this as dev.inmo.tgbotapi.requests.send.payments.SendInvoice public inline fun CommonSendInvoiceData.ifSendInvoice(block: (SendInvoice) -> T): T? = sendInvoiceOrNull() ?.let(block) public inline fun CommonSendInvoiceData.inputInvoiceMessageContentOrNull(): InputInvoiceMessageContent? = this as? dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputInvoiceMessageContent public inline fun CommonSendInvoiceData.inputInvoiceMessageContentOrThrow(): InputInvoiceMessageContent = this as dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputInvoiceMessageContent public inline fun CommonSendInvoiceData.ifInputInvoiceMessageContent(block: (InputInvoiceMessageContent) -> T): T? = inputInvoiceMessageContentOrNull() ?.let(block) public inline fun WithUser.fromUserOrNull(): FromUser? = this as? dev.inmo.tgbotapi.abstracts.FromUser public inline fun WithUser.fromUserOrThrow(): FromUser = this as dev.inmo.tgbotapi.abstracts.FromUser public inline fun WithUser.ifFromUser(block: (FromUser) -> T): T? = fromUserOrNull() ?.let(block) public inline fun WithUser.chatInviteLinkOrNull(): ChatInviteLink? = this as? dev.inmo.tgbotapi.types.ChatInviteLink public inline fun WithUser.chatInviteLinkOrThrow(): ChatInviteLink = this as dev.inmo.tgbotapi.types.ChatInviteLink public inline fun WithUser.ifChatInviteLink(block: (ChatInviteLink) -> T): T? = chatInviteLinkOrNull() ?.let(block) public inline fun WithUser.secondaryChatInviteLinkOrNull(): SecondaryChatInviteLink? = this as? dev.inmo.tgbotapi.types.SecondaryChatInviteLink public inline fun WithUser.secondaryChatInviteLinkOrThrow(): SecondaryChatInviteLink = this as dev.inmo.tgbotapi.types.SecondaryChatInviteLink public inline fun WithUser.ifSecondaryChatInviteLink(block: (SecondaryChatInviteLink) -> T): T? = secondaryChatInviteLinkOrNull() ?.let(block) public inline fun WithUser.primaryInviteLinkOrNull(): PrimaryInviteLink? = this as? dev.inmo.tgbotapi.types.PrimaryInviteLink public inline fun WithUser.primaryInviteLinkOrThrow(): PrimaryInviteLink = this as dev.inmo.tgbotapi.types.PrimaryInviteLink public inline fun WithUser.ifPrimaryInviteLink(block: (PrimaryInviteLink) -> T): T? = primaryInviteLinkOrNull() ?.let(block) public inline fun WithUser.chatInviteLinkWithJoinRequestOrNull(): ChatInviteLinkWithJoinRequest? = this as? dev.inmo.tgbotapi.types.ChatInviteLinkWithJoinRequest public inline fun WithUser.chatInviteLinkWithJoinRequestOrThrow(): ChatInviteLinkWithJoinRequest = this as dev.inmo.tgbotapi.types.ChatInviteLinkWithJoinRequest public inline fun WithUser.ifChatInviteLinkWithJoinRequest(block: (ChatInviteLinkWithJoinRequest) -> T): T? = chatInviteLinkWithJoinRequestOrNull() ?.let(block) public inline fun WithUser.chatInviteLinkWithLimitedMembersOrNull(): ChatInviteLinkWithLimitedMembers? = this as? dev.inmo.tgbotapi.types.ChatInviteLinkWithLimitedMembers public inline fun WithUser.chatInviteLinkWithLimitedMembersOrThrow(): ChatInviteLinkWithLimitedMembers = this as dev.inmo.tgbotapi.types.ChatInviteLinkWithLimitedMembers public inline fun WithUser.ifChatInviteLinkWithLimitedMembers(block: (ChatInviteLinkWithLimitedMembers) -> T): T? = chatInviteLinkWithLimitedMembersOrNull() ?.let(block) public inline fun WithUser.chatInviteLinkUnlimitedOrNull(): ChatInviteLinkUnlimited? = this as? dev.inmo.tgbotapi.types.ChatInviteLinkUnlimited public inline fun WithUser.chatInviteLinkUnlimitedOrThrow(): ChatInviteLinkUnlimited = this as dev.inmo.tgbotapi.types.ChatInviteLinkUnlimited public inline fun WithUser.ifChatInviteLinkUnlimited(block: (ChatInviteLinkUnlimited) -> T): T? = chatInviteLinkUnlimitedOrNull() ?.let(block) public inline fun WithUser.baseChosenInlineResultOrNull(): BaseChosenInlineResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.BaseChosenInlineResult public inline fun WithUser.baseChosenInlineResultOrThrow(): BaseChosenInlineResult = this as dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.BaseChosenInlineResult public inline fun WithUser.ifBaseChosenInlineResult(block: (BaseChosenInlineResult) -> T): T? = baseChosenInlineResultOrNull() ?.let(block) public inline fun WithUser.chosenInlineResultOrNull(): ChosenInlineResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.ChosenInlineResult public inline fun WithUser.chosenInlineResultOrThrow(): ChosenInlineResult = this as dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.ChosenInlineResult public inline fun WithUser.ifChosenInlineResult(block: (ChosenInlineResult) -> T): T? = chosenInlineResultOrNull() ?.let(block) public inline fun WithUser.locationChosenInlineResultOrNull(): LocationChosenInlineResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.LocationChosenInlineResult public inline fun WithUser.locationChosenInlineResultOrThrow(): LocationChosenInlineResult = this as dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.LocationChosenInlineResult public inline fun WithUser.ifLocationChosenInlineResult(block: (LocationChosenInlineResult) -> T): T? = locationChosenInlineResultOrNull() ?.let(block) public inline fun WithUser.baseInlineQueryOrNull(): BaseInlineQuery? = this as? dev.inmo.tgbotapi.types.InlineQueries.query.BaseInlineQuery public inline fun WithUser.baseInlineQueryOrThrow(): BaseInlineQuery = this as dev.inmo.tgbotapi.types.InlineQueries.query.BaseInlineQuery public inline fun WithUser.ifBaseInlineQuery(block: (BaseInlineQuery) -> T): T? = baseInlineQueryOrNull() ?.let(block) public inline fun WithUser.inlineQueryOrNull(): InlineQuery? = this as? dev.inmo.tgbotapi.types.InlineQueries.query.InlineQuery public inline fun WithUser.inlineQueryOrThrow(): InlineQuery = this as dev.inmo.tgbotapi.types.InlineQueries.query.InlineQuery public inline fun WithUser.ifInlineQuery(block: (InlineQuery) -> T): T? = inlineQueryOrNull() ?.let(block) public inline fun WithUser.locationInlineQueryOrNull(): LocationInlineQuery? = this as? dev.inmo.tgbotapi.types.InlineQueries.query.LocationInlineQuery public inline fun WithUser.locationInlineQueryOrThrow(): LocationInlineQuery = this as dev.inmo.tgbotapi.types.InlineQueries.query.LocationInlineQuery public inline fun WithUser.ifLocationInlineQuery(block: (LocationInlineQuery) -> T): T? = locationInlineQueryOrNull() ?.let(block) public inline fun WithUser.chatJoinRequestOrNull(): ChatJoinRequest? = this as? dev.inmo.tgbotapi.types.chat.ChatJoinRequest public inline fun WithUser.chatJoinRequestOrThrow(): ChatJoinRequest = this as dev.inmo.tgbotapi.types.chat.ChatJoinRequest public inline fun WithUser.ifChatJoinRequest(block: (ChatJoinRequest) -> T): T? = chatJoinRequestOrNull() ?.let(block) public inline fun WithUser.administratorChatMemberOrNull(): AdministratorChatMember? = this as? dev.inmo.tgbotapi.types.chat.member.AdministratorChatMember public inline fun WithUser.administratorChatMemberOrThrow(): AdministratorChatMember = this as dev.inmo.tgbotapi.types.chat.member.AdministratorChatMember public inline fun WithUser.ifAdministratorChatMember(block: (AdministratorChatMember) -> T): T? = administratorChatMemberOrNull() ?.let(block) public inline fun WithUser.bannedChatMemberOrNull(): BannedChatMember? = this as? dev.inmo.tgbotapi.types.chat.member.BannedChatMember public inline fun WithUser.bannedChatMemberOrThrow(): BannedChatMember = this as dev.inmo.tgbotapi.types.chat.member.BannedChatMember public inline fun WithUser.ifBannedChatMember(block: (BannedChatMember) -> T): T? = bannedChatMemberOrNull() ?.let(block) public inline fun WithUser.chatMemberOrNull(): ChatMember? = this as? dev.inmo.tgbotapi.types.chat.member.ChatMember public inline fun WithUser.chatMemberOrThrow(): ChatMember = this as dev.inmo.tgbotapi.types.chat.member.ChatMember public inline fun WithUser.ifChatMember(block: (ChatMember) -> T): T? = chatMemberOrNull() ?.let(block) public inline fun WithUser.chatMemberUpdatedOrNull(): ChatMemberUpdated? = this as? dev.inmo.tgbotapi.types.chat.member.ChatMemberUpdated public inline fun WithUser.chatMemberUpdatedOrThrow(): ChatMemberUpdated = this as dev.inmo.tgbotapi.types.chat.member.ChatMemberUpdated public inline fun WithUser.ifChatMemberUpdated(block: (ChatMemberUpdated) -> T): T? = chatMemberUpdatedOrNull() ?.let(block) public inline fun WithUser.kickedChatMemberOrNull(): KickedChatMember? = this as? dev.inmo.tgbotapi.types.chat.member.KickedChatMember public inline fun WithUser.kickedChatMemberOrThrow(): KickedChatMember = this as dev.inmo.tgbotapi.types.chat.member.KickedChatMember public inline fun WithUser.ifKickedChatMember(block: (KickedChatMember) -> T): T? = kickedChatMemberOrNull() ?.let(block) public inline fun WithUser.leftChatMemberOrNull(): LeftChatMember? = this as? dev.inmo.tgbotapi.types.chat.member.LeftChatMember public inline fun WithUser.leftChatMemberOrThrow(): LeftChatMember = this as dev.inmo.tgbotapi.types.chat.member.LeftChatMember public inline fun WithUser.ifLeftChatMember(block: (LeftChatMember) -> T): T? = leftChatMemberOrNull() ?.let(block) public inline fun WithUser.memberChatMemberOrNull(): MemberChatMember? = this as? dev.inmo.tgbotapi.types.chat.member.MemberChatMember public inline fun WithUser.memberChatMemberOrThrow(): MemberChatMember = this as dev.inmo.tgbotapi.types.chat.member.MemberChatMember public inline fun WithUser.ifMemberChatMember(block: (MemberChatMember) -> T): T? = memberChatMemberOrNull() ?.let(block) public inline fun WithUser.ownerChatMemberOrNull(): OwnerChatMember? = this as? dev.inmo.tgbotapi.types.chat.member.OwnerChatMember public inline fun WithUser.ownerChatMemberOrThrow(): OwnerChatMember = this as dev.inmo.tgbotapi.types.chat.member.OwnerChatMember public inline fun WithUser.ifOwnerChatMember(block: (OwnerChatMember) -> T): T? = ownerChatMemberOrNull() ?.let(block) public inline fun WithUser.restrictedChatMemberOrNull(): RestrictedChatMember? = this as? dev.inmo.tgbotapi.types.chat.member.RestrictedChatMember public inline fun WithUser.restrictedChatMemberOrThrow(): RestrictedChatMember = this as dev.inmo.tgbotapi.types.chat.member.RestrictedChatMember public inline fun WithUser.ifRestrictedChatMember(block: (RestrictedChatMember) -> T): T? = restrictedChatMemberOrNull() ?.let(block) public inline fun WithUser.specialRightsChatMemberOrNull(): SpecialRightsChatMember? = this as? dev.inmo.tgbotapi.types.chat.member.SpecialRightsChatMember public inline fun WithUser.specialRightsChatMemberOrThrow(): SpecialRightsChatMember = this as dev.inmo.tgbotapi.types.chat.member.SpecialRightsChatMember public inline fun WithUser.ifSpecialRightsChatMember(block: (SpecialRightsChatMember) -> T): T? = specialRightsChatMemberOrNull() ?.let(block) public inline fun WithUser.leftChatMemberEventOrNull(): LeftChatMemberEvent? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.LeftChatMemberEvent public inline fun WithUser.leftChatMemberEventOrThrow(): LeftChatMemberEvent = this as dev.inmo.tgbotapi.types.message.ChatEvents.LeftChatMemberEvent public inline fun WithUser.ifLeftChatMemberEvent(block: (LeftChatMemberEvent) -> T): T? = leftChatMemberEventOrNull() ?.let(block) public inline fun WithUser.commonGroupEventMessageOrNull(): CommonGroupEventMessage? = this as? dev.inmo.tgbotapi.types.message.CommonGroupEventMessage public inline fun WithUser.commonGroupEventMessageOrThrow(): CommonGroupEventMessage = this as dev.inmo.tgbotapi.types.message.CommonGroupEventMessage public inline fun WithUser.ifCommonGroupEventMessage(block: (CommonGroupEventMessage) -> T): T? = commonGroupEventMessageOrNull() ?.let(block) public inline fun WithUser.commonSupergroupEventMessageOrNull(): CommonSupergroupEventMessage? = this as? dev.inmo.tgbotapi.types.message.CommonSupergroupEventMessage public inline fun WithUser.commonSupergroupEventMessageOrThrow(): CommonSupergroupEventMessage = this as dev.inmo.tgbotapi.types.message.CommonSupergroupEventMessage public inline fun WithUser.ifCommonSupergroupEventMessage(block: (CommonSupergroupEventMessage) -> T): T? = commonSupergroupEventMessageOrNull() ?.let(block) public inline fun WithUser.passportMessageOrNull(): PassportMessage? = this as? dev.inmo.tgbotapi.types.message.PassportMessage public inline fun WithUser.passportMessageOrThrow(): PassportMessage = this as dev.inmo.tgbotapi.types.message.PassportMessage public inline fun WithUser.ifPassportMessage(block: (PassportMessage) -> T): T? = passportMessageOrNull() ?.let(block) public inline fun WithUser.businessContentMessageOrNull(): BusinessContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage public inline fun WithUser.businessContentMessageOrThrow(): BusinessContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage public inline fun WithUser.ifBusinessContentMessage(block: (BusinessContentMessage) -> T): T? = businessContentMessageOrNull() ?.let(block) public inline fun WithUser.fromUserMessageOrNull(): FromUserMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage public inline fun WithUser.fromUserMessageOrThrow(): FromUserMessage = this as dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage public inline fun WithUser.ifFromUserMessage(block: (FromUserMessage) -> T): T? = fromUserMessageOrNull() ?.let(block) public inline fun WithUser.groupEventMessageOrNull(): GroupEventMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.GroupEventMessage public inline fun WithUser.groupEventMessageOrThrow(): GroupEventMessage = this as dev.inmo.tgbotapi.types.message.abstracts.GroupEventMessage public inline fun WithUser.ifGroupEventMessage(block: (GroupEventMessage) -> T): T? = groupEventMessageOrNull() ?.let(block) public inline fun WithUser.commonGroupContentMessageOrNull(): CommonGroupContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.CommonGroupContentMessage public inline fun WithUser.commonGroupContentMessageOrThrow(): CommonGroupContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.CommonGroupContentMessage public inline fun WithUser.ifCommonGroupContentMessage(block: (CommonGroupContentMessage) -> T): T? = commonGroupContentMessageOrNull() ?.let(block) public inline fun WithUser.commonForumContentMessageOrNull(): CommonForumContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.CommonForumContentMessage public inline fun WithUser.commonForumContentMessageOrThrow(): CommonForumContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.CommonForumContentMessage public inline fun WithUser.ifCommonForumContentMessage(block: (CommonForumContentMessage) -> T): T? = commonForumContentMessageOrNull() ?.let(block) public inline fun WithUser.privateContentMessageOrNull(): PrivateContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage public inline fun WithUser.privateContentMessageOrThrow(): PrivateContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage public inline fun WithUser.ifPrivateContentMessage(block: (PrivateContentMessage) -> T): T? = privateContentMessageOrNull() ?.let(block) public inline fun WithUser.supergroupEventMessageOrNull(): SupergroupEventMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.SupergroupEventMessage public inline fun WithUser.supergroupEventMessageOrThrow(): SupergroupEventMessage = this as dev.inmo.tgbotapi.types.message.abstracts.SupergroupEventMessage public inline fun WithUser.ifSupergroupEventMessage(block: (SupergroupEventMessage) -> T): T? = supergroupEventMessageOrNull() ?.let(block) public inline fun WithUser.preCheckoutQueryOrNull(): PreCheckoutQuery? = this as? dev.inmo.tgbotapi.types.payments.PreCheckoutQuery public inline fun WithUser.preCheckoutQueryOrThrow(): PreCheckoutQuery = this as dev.inmo.tgbotapi.types.payments.PreCheckoutQuery public inline fun WithUser.ifPreCheckoutQuery(block: (PreCheckoutQuery) -> T): T? = preCheckoutQueryOrNull() ?.let(block) public inline fun WithUser.shippingQueryOrNull(): ShippingQuery? = this as? dev.inmo.tgbotapi.types.payments.ShippingQuery public inline fun WithUser.shippingQueryOrThrow(): ShippingQuery = this as dev.inmo.tgbotapi.types.payments.ShippingQuery public inline fun WithUser.ifShippingQuery(block: (ShippingQuery) -> T): T? = shippingQueryOrNull() ?.let(block) public inline fun WithUser.pollAnswerOrNull(): PollAnswer? = this as? dev.inmo.tgbotapi.types.polls.PollAnswer public inline fun WithUser.pollAnswerOrThrow(): PollAnswer = this as dev.inmo.tgbotapi.types.polls.PollAnswer public inline fun WithUser.ifPollAnswer(block: (PollAnswer) -> T): T? = pollAnswerOrNull() ?.let(block) public inline fun WithUser.abstractMessageCallbackQueryOrNull(): AbstractMessageCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.AbstractMessageCallbackQuery public inline fun WithUser.abstractMessageCallbackQueryOrThrow(): AbstractMessageCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.AbstractMessageCallbackQuery public inline fun WithUser.ifAbstractMessageCallbackQuery(block: (AbstractMessageCallbackQuery) -> T): T? = abstractMessageCallbackQueryOrNull() ?.let(block) public inline fun WithUser.callbackQueryOrNull(): CallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.CallbackQuery public inline fun WithUser.callbackQueryOrThrow(): CallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.CallbackQuery public inline fun WithUser.ifCallbackQuery(block: (CallbackQuery) -> T): T? = callbackQueryOrNull() ?.let(block) public inline fun WithUser.unknownCallbackQueryTypeOrNull(): UnknownCallbackQueryType? = this as? dev.inmo.tgbotapi.types.queries.callback.UnknownCallbackQueryType public inline fun WithUser.unknownCallbackQueryTypeOrThrow(): UnknownCallbackQueryType = this as dev.inmo.tgbotapi.types.queries.callback.UnknownCallbackQueryType public inline fun WithUser.ifUnknownCallbackQueryType(block: (UnknownCallbackQueryType) -> T): T? = unknownCallbackQueryTypeOrNull() ?.let(block) public inline fun WithUser.dataCallbackQueryOrNull(): DataCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.DataCallbackQuery public inline fun WithUser.dataCallbackQueryOrThrow(): DataCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.DataCallbackQuery public inline fun WithUser.ifDataCallbackQuery(block: (DataCallbackQuery) -> T): T? = dataCallbackQueryOrNull() ?.let(block) public inline fun WithUser.gameShortNameCallbackQueryOrNull(): GameShortNameCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.GameShortNameCallbackQuery public inline fun WithUser.gameShortNameCallbackQueryOrThrow(): GameShortNameCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.GameShortNameCallbackQuery public inline fun WithUser.ifGameShortNameCallbackQuery(block: (GameShortNameCallbackQuery) -> T): T? = gameShortNameCallbackQueryOrNull() ?.let(block) public inline fun WithUser.inaccessibleMessageCallbackQueryOrNull(): InaccessibleMessageCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.InaccessibleMessageCallbackQuery public inline fun WithUser.inaccessibleMessageCallbackQueryOrThrow(): InaccessibleMessageCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.InaccessibleMessageCallbackQuery public inline fun WithUser.ifInaccessibleMessageCallbackQuery(block: (InaccessibleMessageCallbackQuery) -> T): T? = inaccessibleMessageCallbackQueryOrNull() ?.let(block) public inline fun WithUser.inaccessibleMessageDataCallbackQueryOrNull(): InaccessibleMessageDataCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.InaccessibleMessageDataCallbackQuery public inline fun WithUser.inaccessibleMessageDataCallbackQueryOrThrow(): InaccessibleMessageDataCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.InaccessibleMessageDataCallbackQuery public inline fun WithUser.ifInaccessibleMessageDataCallbackQuery(block: (InaccessibleMessageDataCallbackQuery) -> T): T? = inaccessibleMessageDataCallbackQueryOrNull() ?.let(block) public inline fun WithUser.inaccessibleMessageGameShortNameCallbackQueryOrNull(): InaccessibleMessageGameShortNameCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.InaccessibleMessageGameShortNameCallbackQuery public inline fun WithUser.inaccessibleMessageGameShortNameCallbackQueryOrThrow(): InaccessibleMessageGameShortNameCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.InaccessibleMessageGameShortNameCallbackQuery public inline fun WithUser.ifInaccessibleMessageGameShortNameCallbackQuery(block: (InaccessibleMessageGameShortNameCallbackQuery) -> T): T? = inaccessibleMessageGameShortNameCallbackQueryOrNull() ?.let(block) public inline fun WithUser.inlineMessageIdCallbackQueryOrNull(): InlineMessageIdCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.InlineMessageIdCallbackQuery public inline fun WithUser.inlineMessageIdCallbackQueryOrThrow(): InlineMessageIdCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.InlineMessageIdCallbackQuery public inline fun WithUser.ifInlineMessageIdCallbackQuery(block: (InlineMessageIdCallbackQuery) -> T): T? = inlineMessageIdCallbackQueryOrNull() ?.let(block) public inline fun WithUser.inlineMessageIdDataCallbackQueryOrNull(): InlineMessageIdDataCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.InlineMessageIdDataCallbackQuery public inline fun WithUser.inlineMessageIdDataCallbackQueryOrThrow(): InlineMessageIdDataCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.InlineMessageIdDataCallbackQuery public inline fun WithUser.ifInlineMessageIdDataCallbackQuery(block: (InlineMessageIdDataCallbackQuery) -> T): T? = inlineMessageIdDataCallbackQueryOrNull() ?.let(block) public inline fun WithUser.inlineMessageIdGameShortNameCallbackQueryOrNull(): InlineMessageIdGameShortNameCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.InlineMessageIdGameShortNameCallbackQuery public inline fun WithUser.inlineMessageIdGameShortNameCallbackQueryOrThrow(): InlineMessageIdGameShortNameCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.InlineMessageIdGameShortNameCallbackQuery public inline fun WithUser.ifInlineMessageIdGameShortNameCallbackQuery(block: (InlineMessageIdGameShortNameCallbackQuery) -> T): T? = inlineMessageIdGameShortNameCallbackQueryOrNull() ?.let(block) public inline fun WithUser.messageCallbackQueryOrNull(): MessageCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.MessageCallbackQuery public inline fun WithUser.messageCallbackQueryOrThrow(): MessageCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.MessageCallbackQuery public inline fun WithUser.ifMessageCallbackQuery(block: (MessageCallbackQuery) -> T): T? = messageCallbackQueryOrNull() ?.let(block) public inline fun WithUser.messageDataCallbackQueryOrNull(): MessageDataCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.MessageDataCallbackQuery public inline fun WithUser.messageDataCallbackQueryOrThrow(): MessageDataCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.MessageDataCallbackQuery public inline fun WithUser.ifMessageDataCallbackQuery(block: (MessageDataCallbackQuery) -> T): T? = messageDataCallbackQueryOrNull() ?.let(block) public inline fun WithUser.messageGameShortNameCallbackQueryOrNull(): MessageGameShortNameCallbackQuery? = this as? dev.inmo.tgbotapi.types.queries.callback.MessageGameShortNameCallbackQuery public inline fun WithUser.messageGameShortNameCallbackQueryOrThrow(): MessageGameShortNameCallbackQuery = this as dev.inmo.tgbotapi.types.queries.callback.MessageGameShortNameCallbackQuery public inline fun WithUser.ifMessageGameShortNameCallbackQuery(block: (MessageGameShortNameCallbackQuery) -> T): T? = messageGameShortNameCallbackQueryOrNull() ?.let(block) public inline fun InlineQueryResultsButton.startOrNull(): InlineQueryResultsButton.Start? = this as? dev.inmo.tgbotapi.requests.answers.InlineQueryResultsButton.Start public inline fun InlineQueryResultsButton.startOrThrow(): InlineQueryResultsButton.Start = this as dev.inmo.tgbotapi.requests.answers.InlineQueryResultsButton.Start public inline fun InlineQueryResultsButton.ifStart(block: (InlineQueryResultsButton.Start) -> T): T? = startOrNull() ?.let(block) public inline fun InlineQueryResultsButton.unknownOrNull(): InlineQueryResultsButton.Unknown? = this as? dev.inmo.tgbotapi.requests.answers.InlineQueryResultsButton.Unknown public inline fun InlineQueryResultsButton.unknownOrThrow(): InlineQueryResultsButton.Unknown = this as dev.inmo.tgbotapi.requests.answers.InlineQueryResultsButton.Unknown public inline fun InlineQueryResultsButton.ifUnknown(block: (InlineQueryResultsButton.Unknown) -> T): T? = unknownOrNull() ?.let(block) public inline fun InlineQueryResultsButton.webAppOrNull(): InlineQueryResultsButton.WebApp? = this as? dev.inmo.tgbotapi.requests.answers.InlineQueryResultsButton.WebApp public inline fun InlineQueryResultsButton.webAppOrThrow(): InlineQueryResultsButton.WebApp = this as dev.inmo.tgbotapi.requests.answers.InlineQueryResultsButton.WebApp public inline fun InlineQueryResultsButton.ifWebApp(block: (InlineQueryResultsButton.WebApp) -> T): T? = webAppOrNull() ?.let(block) public inline fun InputSticker.maskOrNull(): InputSticker.Mask? = this as? dev.inmo.tgbotapi.requests.stickers.InputSticker.Mask public inline fun InputSticker.maskOrThrow(): InputSticker.Mask = this as dev.inmo.tgbotapi.requests.stickers.InputSticker.Mask public inline fun InputSticker.ifMask(block: (InputSticker.Mask) -> T): T? = maskOrNull() ?.let(block) public inline fun InputSticker.withKeywordsOrNull(): InputSticker.WithKeywords? = this as? dev.inmo.tgbotapi.requests.stickers.InputSticker.WithKeywords public inline fun InputSticker.withKeywordsOrThrow(): InputSticker.WithKeywords = this as dev.inmo.tgbotapi.requests.stickers.InputSticker.WithKeywords public inline fun InputSticker.ifWithKeywords(block: (InputSticker.WithKeywords) -> T): T? = withKeywordsOrNull() ?.let(block) public inline fun InputSticker.customEmojiOrNull(): InputSticker.WithKeywords.CustomEmoji? = this as? dev.inmo.tgbotapi.requests.stickers.InputSticker.WithKeywords.CustomEmoji public inline fun InputSticker.customEmojiOrThrow(): InputSticker.WithKeywords.CustomEmoji = this as dev.inmo.tgbotapi.requests.stickers.InputSticker.WithKeywords.CustomEmoji public inline fun InputSticker.ifCustomEmoji(block: (InputSticker.WithKeywords.CustomEmoji) -> T): T? = customEmojiOrNull() ?.let(block) public inline fun InputSticker.regularOrNull(): InputSticker.WithKeywords.Regular? = this as? dev.inmo.tgbotapi.requests.stickers.InputSticker.WithKeywords.Regular public inline fun InputSticker.regularOrThrow(): InputSticker.WithKeywords.Regular = this as dev.inmo.tgbotapi.requests.stickers.InputSticker.WithKeywords.Regular public inline fun InputSticker.ifRegular(block: (InputSticker.WithKeywords.Regular) -> T): T? = regularOrNull() ?.let(block) public inline fun BackgroundFill.freeformGradientOrNull(): BackgroundFill.FreeformGradient? = this as? dev.inmo.tgbotapi.types.BackgroundFill.FreeformGradient public inline fun BackgroundFill.freeformGradientOrThrow(): BackgroundFill.FreeformGradient = this as dev.inmo.tgbotapi.types.BackgroundFill.FreeformGradient public inline fun BackgroundFill.ifFreeformGradient(block: (BackgroundFill.FreeformGradient) -> T): T? = freeformGradientOrNull() ?.let(block) public inline fun BackgroundFill.gradientOrNull(): BackgroundFill.Gradient? = this as? dev.inmo.tgbotapi.types.BackgroundFill.Gradient public inline fun BackgroundFill.gradientOrThrow(): BackgroundFill.Gradient = this as dev.inmo.tgbotapi.types.BackgroundFill.Gradient public inline fun BackgroundFill.ifGradient(block: (BackgroundFill.Gradient) -> T): T? = gradientOrNull() ?.let(block) public inline fun BackgroundFill.solidOrNull(): BackgroundFill.Solid? = this as? dev.inmo.tgbotapi.types.BackgroundFill.Solid public inline fun BackgroundFill.solidOrThrow(): BackgroundFill.Solid = this as dev.inmo.tgbotapi.types.BackgroundFill.Solid public inline fun BackgroundFill.ifSolid(block: (BackgroundFill.Solid) -> T): T? = solidOrNull() ?.let(block) public inline fun BackgroundFill.unknownOrNull(): BackgroundFill.Unknown? = this as? dev.inmo.tgbotapi.types.BackgroundFill.Unknown public inline fun BackgroundFill.unknownOrThrow(): BackgroundFill.Unknown = this as dev.inmo.tgbotapi.types.BackgroundFill.Unknown public inline fun BackgroundFill.ifUnknown(block: (BackgroundFill.Unknown) -> T): T? = unknownOrNull() ?.let(block) public inline fun BackgroundType.chatThemeOrNull(): BackgroundType.ChatTheme? = this as? dev.inmo.tgbotapi.types.BackgroundType.ChatTheme public inline fun BackgroundType.chatThemeOrThrow(): BackgroundType.ChatTheme = this as dev.inmo.tgbotapi.types.BackgroundType.ChatTheme public inline fun BackgroundType.ifChatTheme(block: (BackgroundType.ChatTheme) -> T): T? = chatThemeOrNull() ?.let(block) public inline fun BackgroundType.dimmableOrNull(): BackgroundType.Dimmable? = this as? dev.inmo.tgbotapi.types.BackgroundType.Dimmable public inline fun BackgroundType.dimmableOrThrow(): BackgroundType.Dimmable = this as dev.inmo.tgbotapi.types.BackgroundType.Dimmable public inline fun BackgroundType.ifDimmable(block: (BackgroundType.Dimmable) -> T): T? = dimmableOrNull() ?.let(block) public inline fun BackgroundType.fillOrNull(): BackgroundType.Fill? = this as? dev.inmo.tgbotapi.types.BackgroundType.Fill public inline fun BackgroundType.fillOrThrow(): BackgroundType.Fill = this as dev.inmo.tgbotapi.types.BackgroundType.Fill public inline fun BackgroundType.ifFill(block: (BackgroundType.Fill) -> T): T? = fillOrNull() ?.let(block) public inline fun BackgroundType.wallpaperOrNull(): BackgroundType.Wallpaper? = this as? dev.inmo.tgbotapi.types.BackgroundType.Wallpaper public inline fun BackgroundType.wallpaperOrThrow(): BackgroundType.Wallpaper = this as dev.inmo.tgbotapi.types.BackgroundType.Wallpaper public inline fun BackgroundType.ifWallpaper(block: (BackgroundType.Wallpaper) -> T): T? = wallpaperOrNull() ?.let(block) public inline fun BackgroundType.fillableOrNull(): BackgroundType.Fillable? = this as? dev.inmo.tgbotapi.types.BackgroundType.Fillable public inline fun BackgroundType.fillableOrThrow(): BackgroundType.Fillable = this as dev.inmo.tgbotapi.types.BackgroundType.Fillable public inline fun BackgroundType.ifFillable(block: (BackgroundType.Fillable) -> T): T? = fillableOrNull() ?.let(block) public inline fun BackgroundType.patternOrNull(): BackgroundType.Pattern? = this as? dev.inmo.tgbotapi.types.BackgroundType.Pattern public inline fun BackgroundType.patternOrThrow(): BackgroundType.Pattern = this as dev.inmo.tgbotapi.types.BackgroundType.Pattern public inline fun BackgroundType.ifPattern(block: (BackgroundType.Pattern) -> T): T? = patternOrNull() ?.let(block) public inline fun BackgroundType.movableOrNull(): BackgroundType.Movable? = this as? dev.inmo.tgbotapi.types.BackgroundType.Movable public inline fun BackgroundType.movableOrThrow(): BackgroundType.Movable = this as dev.inmo.tgbotapi.types.BackgroundType.Movable public inline fun BackgroundType.ifMovable(block: (BackgroundType.Movable) -> T): T? = movableOrNull() ?.let(block) public inline fun BackgroundType.unknownOrNull(): BackgroundType.Unknown? = this as? dev.inmo.tgbotapi.types.BackgroundType.Unknown public inline fun BackgroundType.unknownOrThrow(): BackgroundType.Unknown = this as dev.inmo.tgbotapi.types.BackgroundType.Unknown public inline fun BackgroundType.ifUnknown(block: (BackgroundType.Unknown) -> T): T? = unknownOrNull() ?.let(block) public inline fun BackgroundType.withDocumentOrNull(): BackgroundType.WithDocument? = this as? dev.inmo.tgbotapi.types.BackgroundType.WithDocument public inline fun BackgroundType.withDocumentOrThrow(): BackgroundType.WithDocument = this as dev.inmo.tgbotapi.types.BackgroundType.WithDocument public inline fun BackgroundType.ifWithDocument(block: (BackgroundType.WithDocument) -> T): T? = withDocumentOrNull() ?.let(block) public inline fun ChatIdentifier.idChatIdentifierOrNull(): IdChatIdentifier? = this as? dev.inmo.tgbotapi.types.IdChatIdentifier public inline fun ChatIdentifier.idChatIdentifierOrThrow(): IdChatIdentifier = this as dev.inmo.tgbotapi.types.IdChatIdentifier public inline fun ChatIdentifier.ifIdChatIdentifier(block: (IdChatIdentifier) -> T): T? = idChatIdentifierOrNull() ?.let(block) public inline fun ChatIdentifier.chatIdOrNull(): ChatId? = this as? dev.inmo.tgbotapi.types.ChatId public inline fun ChatIdentifier.chatIdOrThrow(): ChatId = this as dev.inmo.tgbotapi.types.ChatId public inline fun ChatIdentifier.ifChatId(block: (ChatId) -> T): T? = chatIdOrNull() ?.let(block) public inline fun ChatIdentifier.chatIdWithThreadIdOrNull(): ChatIdWithThreadId? = this as? dev.inmo.tgbotapi.types.ChatIdWithThreadId public inline fun ChatIdentifier.chatIdWithThreadIdOrThrow(): ChatIdWithThreadId = this as dev.inmo.tgbotapi.types.ChatIdWithThreadId public inline fun ChatIdentifier.ifChatIdWithThreadId(block: (ChatIdWithThreadId) -> T): T? = chatIdWithThreadIdOrNull() ?.let(block) public inline fun ChatIdentifier.businessChatIdOrNull(): BusinessChatId? = this as? dev.inmo.tgbotapi.types.BusinessChatId public inline fun ChatIdentifier.businessChatIdOrThrow(): BusinessChatId = this as dev.inmo.tgbotapi.types.BusinessChatId public inline fun ChatIdentifier.ifBusinessChatId(block: (BusinessChatId) -> T): T? = businessChatIdOrNull() ?.let(block) public inline fun ChatIdentifier.usernameOrNull(): Username? = this as? dev.inmo.tgbotapi.types.Username public inline fun ChatIdentifier.usernameOrThrow(): Username = this as dev.inmo.tgbotapi.types.Username public inline fun ChatIdentifier.ifUsername(block: (Username) -> T): T? = usernameOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultArticleOrNull(): InlineQueryResultArticle? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultArticle public inline fun InlineQueryResult.inlineQueryResultArticleOrThrow(): InlineQueryResultArticle = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultArticle public inline fun InlineQueryResult.ifInlineQueryResultArticle(block: (InlineQueryResultArticle) -> T): T? = inlineQueryResultArticleOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultContactOrNull(): InlineQueryResultContact? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultContact public inline fun InlineQueryResult.inlineQueryResultContactOrThrow(): InlineQueryResultContact = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultContact public inline fun InlineQueryResult.ifInlineQueryResultContact(block: (InlineQueryResultContact) -> T): T? = inlineQueryResultContactOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultGameOrNull(): InlineQueryResultGame? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultGame public inline fun InlineQueryResult.inlineQueryResultGameOrThrow(): InlineQueryResultGame = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultGame public inline fun InlineQueryResult.ifInlineQueryResultGame(block: (InlineQueryResultGame) -> T): T? = inlineQueryResultGameOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultLocationOrNull(): InlineQueryResultLocation? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultLocation public inline fun InlineQueryResult.inlineQueryResultLocationOrThrow(): InlineQueryResultLocation = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultLocation public inline fun InlineQueryResult.ifInlineQueryResultLocation(block: (InlineQueryResultLocation) -> T): T? = inlineQueryResultLocationOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultStickerCachedOrNull(): InlineQueryResultStickerCached? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultStickerCached public inline fun InlineQueryResult.inlineQueryResultStickerCachedOrThrow(): InlineQueryResultStickerCached = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultStickerCached public inline fun InlineQueryResult.ifInlineQueryResultStickerCached(block: (InlineQueryResultStickerCached) -> T): T? = inlineQueryResultStickerCachedOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultVenueOrNull(): InlineQueryResultVenue? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultVenue public inline fun InlineQueryResult.inlineQueryResultVenueOrThrow(): InlineQueryResultVenue = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.InlineQueryResultVenue public inline fun InlineQueryResult.ifInlineQueryResultVenue(block: (InlineQueryResultVenue) -> T): T? = inlineQueryResultVenueOrNull() ?.let(block) public inline fun InlineQueryResult.describedInlineQueryResultOrNull(): DescribedInlineQueryResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.DescribedInlineQueryResult public inline fun InlineQueryResult.describedInlineQueryResultOrThrow(): DescribedInlineQueryResult = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.DescribedInlineQueryResult public inline fun InlineQueryResult.ifDescribedInlineQueryResult(block: (DescribedInlineQueryResult) -> T): T? = describedInlineQueryResultOrNull() ?.let(block) public inline fun InlineQueryResult.fileInlineQueryResultOrNull(): FileInlineQueryResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.FileInlineQueryResult public inline fun InlineQueryResult.fileInlineQueryResultOrThrow(): FileInlineQueryResult = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.FileInlineQueryResult public inline fun InlineQueryResult.ifFileInlineQueryResult(block: (FileInlineQueryResult) -> T): T? = fileInlineQueryResultOrNull() ?.let(block) public inline fun InlineQueryResult.optionallyTitledInlineQueryResultOrNull(): OptionallyTitledInlineQueryResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.OptionallyTitledInlineQueryResult public inline fun InlineQueryResult.optionallyTitledInlineQueryResultOrThrow(): OptionallyTitledInlineQueryResult = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.OptionallyTitledInlineQueryResult public inline fun InlineQueryResult.ifOptionallyTitledInlineQueryResult(block: (OptionallyTitledInlineQueryResult) -> T): T? = optionallyTitledInlineQueryResultOrNull() ?.let(block) public inline fun InlineQueryResult.sizedInlineQueryResultOrNull(): SizedInlineQueryResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.SizedInlineQueryResult public inline fun InlineQueryResult.sizedInlineQueryResultOrThrow(): SizedInlineQueryResult = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.SizedInlineQueryResult public inline fun InlineQueryResult.ifSizedInlineQueryResult(block: (SizedInlineQueryResult) -> T): T? = sizedInlineQueryResultOrNull() ?.let(block) public inline fun InlineQueryResult.thumbSizedInlineQueryResultOrNull(): ThumbSizedInlineQueryResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbSizedInlineQueryResult public inline fun InlineQueryResult.thumbSizedInlineQueryResultOrThrow(): ThumbSizedInlineQueryResult = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbSizedInlineQueryResult public inline fun InlineQueryResult.ifThumbSizedInlineQueryResult(block: (ThumbSizedInlineQueryResult) -> T): T? = thumbSizedInlineQueryResultOrNull() ?.let(block) public inline fun InlineQueryResult.thumbedInlineQueryResultOrNull(): ThumbedInlineQueryResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbedInlineQueryResult public inline fun InlineQueryResult.thumbedInlineQueryResultOrThrow(): ThumbedInlineQueryResult = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbedInlineQueryResult public inline fun InlineQueryResult.ifThumbedInlineQueryResult(block: (ThumbedInlineQueryResult) -> T): T? = thumbedInlineQueryResultOrNull() ?.let(block) public inline fun InlineQueryResult.thumbedWithMimeTypeInlineQueryResultOrNull(): ThumbedWithMimeTypeInlineQueryResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbedWithMimeTypeInlineQueryResult public inline fun InlineQueryResult.thumbedWithMimeTypeInlineQueryResultOrThrow(): ThumbedWithMimeTypeInlineQueryResult = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbedWithMimeTypeInlineQueryResult public inline fun InlineQueryResult.ifThumbedWithMimeTypeInlineQueryResult(block: (ThumbedWithMimeTypeInlineQueryResult) -> T): T? = thumbedWithMimeTypeInlineQueryResultOrNull() ?.let(block) public inline fun InlineQueryResult.titledInlineQueryResultOrNull(): TitledInlineQueryResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.TitledInlineQueryResult public inline fun InlineQueryResult.titledInlineQueryResultOrThrow(): TitledInlineQueryResult = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.TitledInlineQueryResult public inline fun InlineQueryResult.ifTitledInlineQueryResult(block: (TitledInlineQueryResult) -> T): T? = titledInlineQueryResultOrNull() ?.let(block) public inline fun InlineQueryResult.urlInlineQueryResultOrNull(): UrlInlineQueryResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.UrlInlineQueryResult public inline fun InlineQueryResult.urlInlineQueryResultOrThrow(): UrlInlineQueryResult = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.UrlInlineQueryResult public inline fun InlineQueryResult.ifUrlInlineQueryResult(block: (UrlInlineQueryResult) -> T): T? = urlInlineQueryResultOrNull() ?.let(block) public inline fun InlineQueryResult.withInputMessageContentInlineQueryResultOrNull(): WithInputMessageContentInlineQueryResult? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.WithInputMessageContentInlineQueryResult public inline fun InlineQueryResult.withInputMessageContentInlineQueryResultOrThrow(): WithInputMessageContentInlineQueryResult = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.WithInputMessageContentInlineQueryResult public inline fun InlineQueryResult.ifWithInputMessageContentInlineQueryResult(block: (WithInputMessageContentInlineQueryResult) -> T): T? = withInputMessageContentInlineQueryResultOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultAudioOrNull(): InlineQueryResultAudio? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudio public inline fun InlineQueryResult.inlineQueryResultAudioOrThrow(): InlineQueryResultAudio = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudio public inline fun InlineQueryResult.ifInlineQueryResultAudio(block: (InlineQueryResultAudio) -> T): T? = inlineQueryResultAudioOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultAudioCachedOrNull(): InlineQueryResultAudioCached? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudioCached public inline fun InlineQueryResult.inlineQueryResultAudioCachedOrThrow(): InlineQueryResultAudioCached = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudioCached public inline fun InlineQueryResult.ifInlineQueryResultAudioCached(block: (InlineQueryResultAudioCached) -> T): T? = inlineQueryResultAudioCachedOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultAudioCommonOrNull(): InlineQueryResultAudioCommon? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudioCommon public inline fun InlineQueryResult.inlineQueryResultAudioCommonOrThrow(): InlineQueryResultAudioCommon = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudioCommon public inline fun InlineQueryResult.ifInlineQueryResultAudioCommon(block: (InlineQueryResultAudioCommon) -> T): T? = inlineQueryResultAudioCommonOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultDocumentOrNull(): InlineQueryResultDocument? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.document.InlineQueryResultDocument public inline fun InlineQueryResult.inlineQueryResultDocumentOrThrow(): InlineQueryResultDocument = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.document.InlineQueryResultDocument public inline fun InlineQueryResult.ifInlineQueryResultDocument(block: (InlineQueryResultDocument) -> T): T? = inlineQueryResultDocumentOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultDocumentCachedOrNull(): InlineQueryResultDocumentCached? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.document.InlineQueryResultDocumentCached public inline fun InlineQueryResult.inlineQueryResultDocumentCachedOrThrow(): InlineQueryResultDocumentCached = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.document.InlineQueryResultDocumentCached public inline fun InlineQueryResult.ifInlineQueryResultDocumentCached(block: (InlineQueryResultDocumentCached) -> T): T? = inlineQueryResultDocumentCachedOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultDocumentCommonOrNull(): InlineQueryResultDocumentCommon? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.document.InlineQueryResultDocumentCommon public inline fun InlineQueryResult.inlineQueryResultDocumentCommonOrThrow(): InlineQueryResultDocumentCommon = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.document.InlineQueryResultDocumentCommon public inline fun InlineQueryResult.ifInlineQueryResultDocumentCommon(block: (InlineQueryResultDocumentCommon) -> T): T? = inlineQueryResultDocumentCommonOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultGifOrNull(): InlineQueryResultGif? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.gif.InlineQueryResultGif public inline fun InlineQueryResult.inlineQueryResultGifOrThrow(): InlineQueryResultGif = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.gif.InlineQueryResultGif public inline fun InlineQueryResult.ifInlineQueryResultGif(block: (InlineQueryResultGif) -> T): T? = inlineQueryResultGifOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultGifCachedOrNull(): InlineQueryResultGifCached? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.gif.InlineQueryResultGifCached public inline fun InlineQueryResult.inlineQueryResultGifCachedOrThrow(): InlineQueryResultGifCached = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.gif.InlineQueryResultGifCached public inline fun InlineQueryResult.ifInlineQueryResultGifCached(block: (InlineQueryResultGifCached) -> T): T? = inlineQueryResultGifCachedOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultGifCommonOrNull(): InlineQueryResultGifCommon? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.gif.InlineQueryResultGifCommon public inline fun InlineQueryResult.inlineQueryResultGifCommonOrThrow(): InlineQueryResultGifCommon = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.gif.InlineQueryResultGifCommon public inline fun InlineQueryResult.ifInlineQueryResultGifCommon(block: (InlineQueryResultGifCommon) -> T): T? = inlineQueryResultGifCommonOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultMpeg4GifOrNull(): InlineQueryResultMpeg4Gif? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.mpeg4gif.InlineQueryResultMpeg4Gif public inline fun InlineQueryResult.inlineQueryResultMpeg4GifOrThrow(): InlineQueryResultMpeg4Gif = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.mpeg4gif.InlineQueryResultMpeg4Gif public inline fun InlineQueryResult.ifInlineQueryResultMpeg4Gif(block: (InlineQueryResultMpeg4Gif) -> T): T? = inlineQueryResultMpeg4GifOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultMpeg4GifCachedOrNull(): InlineQueryResultMpeg4GifCached? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.mpeg4gif.InlineQueryResultMpeg4GifCached public inline fun InlineQueryResult.inlineQueryResultMpeg4GifCachedOrThrow(): InlineQueryResultMpeg4GifCached = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.mpeg4gif.InlineQueryResultMpeg4GifCached public inline fun InlineQueryResult.ifInlineQueryResultMpeg4GifCached(block: (InlineQueryResultMpeg4GifCached) -> T): T? = inlineQueryResultMpeg4GifCachedOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultMpeg4GifCommonOrNull(): InlineQueryResultMpeg4GifCommon? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.mpeg4gif.InlineQueryResultMpeg4GifCommon public inline fun InlineQueryResult.inlineQueryResultMpeg4GifCommonOrThrow(): InlineQueryResultMpeg4GifCommon = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.mpeg4gif.InlineQueryResultMpeg4GifCommon public inline fun InlineQueryResult.ifInlineQueryResultMpeg4GifCommon(block: (InlineQueryResultMpeg4GifCommon) -> T): T? = inlineQueryResultMpeg4GifCommonOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultPhotoOrNull(): InlineQueryResultPhoto? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.photo.InlineQueryResultPhoto public inline fun InlineQueryResult.inlineQueryResultPhotoOrThrow(): InlineQueryResultPhoto = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.photo.InlineQueryResultPhoto public inline fun InlineQueryResult.ifInlineQueryResultPhoto(block: (InlineQueryResultPhoto) -> T): T? = inlineQueryResultPhotoOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultPhotoCachedOrNull(): InlineQueryResultPhotoCached? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.photo.InlineQueryResultPhotoCached public inline fun InlineQueryResult.inlineQueryResultPhotoCachedOrThrow(): InlineQueryResultPhotoCached = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.photo.InlineQueryResultPhotoCached public inline fun InlineQueryResult.ifInlineQueryResultPhotoCached(block: (InlineQueryResultPhotoCached) -> T): T? = inlineQueryResultPhotoCachedOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultPhotoCommonOrNull(): InlineQueryResultPhotoCommon? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.photo.InlineQueryResultPhotoCommon public inline fun InlineQueryResult.inlineQueryResultPhotoCommonOrThrow(): InlineQueryResultPhotoCommon = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.photo.InlineQueryResultPhotoCommon public inline fun InlineQueryResult.ifInlineQueryResultPhotoCommon(block: (InlineQueryResultPhotoCommon) -> T): T? = inlineQueryResultPhotoCommonOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultVideoOrNull(): InlineQueryResultVideo? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideo public inline fun InlineQueryResult.inlineQueryResultVideoOrThrow(): InlineQueryResultVideo = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideo public inline fun InlineQueryResult.ifInlineQueryResultVideo(block: (InlineQueryResultVideo) -> T): T? = inlineQueryResultVideoOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultVideoCachedOrNull(): InlineQueryResultVideoCached? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideoCached public inline fun InlineQueryResult.inlineQueryResultVideoCachedOrThrow(): InlineQueryResultVideoCached = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideoCached public inline fun InlineQueryResult.ifInlineQueryResultVideoCached(block: (InlineQueryResultVideoCached) -> T): T? = inlineQueryResultVideoCachedOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultVideoCommonOrNull(): InlineQueryResultVideoCommon? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideoCommon public inline fun InlineQueryResult.inlineQueryResultVideoCommonOrThrow(): InlineQueryResultVideoCommon = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.video.InlineQueryResultVideoCommon public inline fun InlineQueryResult.ifInlineQueryResultVideoCommon(block: (InlineQueryResultVideoCommon) -> T): T? = inlineQueryResultVideoCommonOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultVoiceOrNull(): InlineQueryResultVoice? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.voice.InlineQueryResultVoice public inline fun InlineQueryResult.inlineQueryResultVoiceOrThrow(): InlineQueryResultVoice = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.voice.InlineQueryResultVoice public inline fun InlineQueryResult.ifInlineQueryResultVoice(block: (InlineQueryResultVoice) -> T): T? = inlineQueryResultVoiceOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultVoiceCachedOrNull(): InlineQueryResultVoiceCached? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.voice.InlineQueryResultVoiceCached public inline fun InlineQueryResult.inlineQueryResultVoiceCachedOrThrow(): InlineQueryResultVoiceCached = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.voice.InlineQueryResultVoiceCached public inline fun InlineQueryResult.ifInlineQueryResultVoiceCached(block: (InlineQueryResultVoiceCached) -> T): T? = inlineQueryResultVoiceCachedOrNull() ?.let(block) public inline fun InlineQueryResult.inlineQueryResultVoiceCommonOrNull(): InlineQueryResultVoiceCommon? = this as? dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.voice.InlineQueryResultVoiceCommon public inline fun InlineQueryResult.inlineQueryResultVoiceCommonOrThrow(): InlineQueryResultVoiceCommon = this as dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.voice.InlineQueryResultVoiceCommon public inline fun InlineQueryResult.ifInlineQueryResultVoiceCommon(block: (InlineQueryResultVoiceCommon) -> T): T? = inlineQueryResultVoiceCommonOrNull() ?.let(block) public inline fun InputMessageContent.inputContactMessageContentOrNull(): InputContactMessageContent? = this as? dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputContactMessageContent public inline fun InputMessageContent.inputContactMessageContentOrThrow(): InputContactMessageContent = this as dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputContactMessageContent public inline fun InputMessageContent.ifInputContactMessageContent(block: (InputContactMessageContent) -> T): T? = inputContactMessageContentOrNull() ?.let(block) public inline fun InputMessageContent.inputInvoiceMessageContentOrNull(): InputInvoiceMessageContent? = this as? dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputInvoiceMessageContent public inline fun InputMessageContent.inputInvoiceMessageContentOrThrow(): InputInvoiceMessageContent = this as dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputInvoiceMessageContent public inline fun InputMessageContent.ifInputInvoiceMessageContent(block: (InputInvoiceMessageContent) -> T): T? = inputInvoiceMessageContentOrNull() ?.let(block) public inline fun InputMessageContent.inputLocationMessageContentOrNull(): InputLocationMessageContent? = this as? dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputLocationMessageContent public inline fun InputMessageContent.inputLocationMessageContentOrThrow(): InputLocationMessageContent = this as dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputLocationMessageContent public inline fun InputMessageContent.ifInputLocationMessageContent(block: (InputLocationMessageContent) -> T): T? = inputLocationMessageContentOrNull() ?.let(block) public inline fun InputMessageContent.inputTextMessageContentOrNull(): InputTextMessageContent? = this as? dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputTextMessageContent public inline fun InputMessageContent.inputTextMessageContentOrThrow(): InputTextMessageContent = this as dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputTextMessageContent public inline fun InputMessageContent.ifInputTextMessageContent(block: (InputTextMessageContent) -> T): T? = inputTextMessageContentOrNull() ?.let(block) public inline fun InputMessageContent.inputVenueMessageContentOrNull(): InputVenueMessageContent? = this as? dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputVenueMessageContent public inline fun InputMessageContent.inputVenueMessageContentOrThrow(): InputVenueMessageContent = this as dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputVenueMessageContent public inline fun InputMessageContent.ifInputVenueMessageContent(block: (InputVenueMessageContent) -> T): T? = inputVenueMessageContentOrNull() ?.let(block) public inline fun ReplyInfo.externalOrNull(): ReplyInfo.External? = this as? dev.inmo.tgbotapi.types.ReplyInfo.External public inline fun ReplyInfo.externalOrThrow(): ReplyInfo.External = this as dev.inmo.tgbotapi.types.ReplyInfo.External public inline fun ReplyInfo.ifExternal(block: (ReplyInfo.External) -> T): T? = externalOrNull() ?.let(block) public inline fun ReplyInfo.contentOrNull(): ReplyInfo.External.Content? = this as? dev.inmo.tgbotapi.types.ReplyInfo.External.Content public inline fun ReplyInfo.contentOrThrow(): ReplyInfo.External.Content = this as dev.inmo.tgbotapi.types.ReplyInfo.External.Content public inline fun ReplyInfo.ifContent(block: (ReplyInfo.External.Content) -> T): T? = contentOrNull() ?.let(block) public inline fun ReplyInfo.mediaOrNull(): ReplyInfo.External.Content.Media? = this as? dev.inmo.tgbotapi.types.ReplyInfo.External.Content.Media public inline fun ReplyInfo.mediaOrThrow(): ReplyInfo.External.Content.Media = this as dev.inmo.tgbotapi.types.ReplyInfo.External.Content.Media public inline fun ReplyInfo.ifMedia(block: (ReplyInfo.External.Content.Media) -> T): T? = mediaOrNull() ?.let(block) public inline fun ReplyInfo.simpleOrNull(): ReplyInfo.External.Content.Simple? = this as? dev.inmo.tgbotapi.types.ReplyInfo.External.Content.Simple public inline fun ReplyInfo.simpleOrThrow(): ReplyInfo.External.Content.Simple = this as dev.inmo.tgbotapi.types.ReplyInfo.External.Content.Simple public inline fun ReplyInfo.ifSimple(block: (ReplyInfo.External.Content.Simple) -> T): T? = simpleOrNull() ?.let(block) public inline fun ReplyInfo.textOrNull(): ReplyInfo.External.Text? = this as? dev.inmo.tgbotapi.types.ReplyInfo.External.Text public inline fun ReplyInfo.textOrThrow(): ReplyInfo.External.Text = this as dev.inmo.tgbotapi.types.ReplyInfo.External.Text public inline fun ReplyInfo.ifText(block: (ReplyInfo.External.Text) -> T): T? = textOrNull() ?.let(block) public inline fun ReplyInfo.internalOrNull(): ReplyInfo.Internal? = this as? dev.inmo.tgbotapi.types.ReplyInfo.Internal public inline fun ReplyInfo.internalOrThrow(): ReplyInfo.Internal = this as dev.inmo.tgbotapi.types.ReplyInfo.Internal public inline fun ReplyInfo.ifInternal(block: (ReplyInfo.Internal) -> T): T? = internalOrNull() ?.let(block) public inline fun ReplyInfo.toStoryOrNull(): ReplyInfo.ToStory? = this as? dev.inmo.tgbotapi.types.ReplyInfo.ToStory public inline fun ReplyInfo.toStoryOrThrow(): ReplyInfo.ToStory = this as dev.inmo.tgbotapi.types.ReplyInfo.ToStory public inline fun ReplyInfo.ifToStory(block: (ReplyInfo.ToStory) -> T): T? = toStoryOrNull() ?.let(block) public inline fun BotAction.typingActionOrNull(): TypingAction? = this as? dev.inmo.tgbotapi.types.actions.TypingAction public inline fun BotAction.typingActionOrThrow(): TypingAction = this as dev.inmo.tgbotapi.types.actions.TypingAction public inline fun BotAction.ifTypingAction(block: (TypingAction) -> T): T? = typingActionOrNull() ?.let(block) public inline fun BotAction.uploadPhotoActionOrNull(): UploadPhotoAction? = this as? dev.inmo.tgbotapi.types.actions.UploadPhotoAction public inline fun BotAction.uploadPhotoActionOrThrow(): UploadPhotoAction = this as dev.inmo.tgbotapi.types.actions.UploadPhotoAction public inline fun BotAction.ifUploadPhotoAction(block: (UploadPhotoAction) -> T): T? = uploadPhotoActionOrNull() ?.let(block) public inline fun BotAction.recordVideoActionOrNull(): RecordVideoAction? = this as? dev.inmo.tgbotapi.types.actions.RecordVideoAction public inline fun BotAction.recordVideoActionOrThrow(): RecordVideoAction = this as dev.inmo.tgbotapi.types.actions.RecordVideoAction public inline fun BotAction.ifRecordVideoAction(block: (RecordVideoAction) -> T): T? = recordVideoActionOrNull() ?.let(block) public inline fun BotAction.uploadVideoActionOrNull(): UploadVideoAction? = this as? dev.inmo.tgbotapi.types.actions.UploadVideoAction public inline fun BotAction.uploadVideoActionOrThrow(): UploadVideoAction = this as dev.inmo.tgbotapi.types.actions.UploadVideoAction public inline fun BotAction.ifUploadVideoAction(block: (UploadVideoAction) -> T): T? = uploadVideoActionOrNull() ?.let(block) public inline fun BotAction.recordVoiceActionOrNull(): RecordVoiceAction? = this as? dev.inmo.tgbotapi.types.actions.RecordVoiceAction public inline fun BotAction.recordVoiceActionOrThrow(): RecordVoiceAction = this as dev.inmo.tgbotapi.types.actions.RecordVoiceAction public inline fun BotAction.ifRecordVoiceAction(block: (RecordVoiceAction) -> T): T? = recordVoiceActionOrNull() ?.let(block) public inline fun BotAction.uploadVoiceActionOrNull(): UploadVoiceAction? = this as? dev.inmo.tgbotapi.types.actions.UploadVoiceAction public inline fun BotAction.uploadVoiceActionOrThrow(): UploadVoiceAction = this as dev.inmo.tgbotapi.types.actions.UploadVoiceAction public inline fun BotAction.ifUploadVoiceAction(block: (UploadVoiceAction) -> T): T? = uploadVoiceActionOrNull() ?.let(block) public inline fun BotAction.uploadDocumentActionOrNull(): UploadDocumentAction? = this as? dev.inmo.tgbotapi.types.actions.UploadDocumentAction public inline fun BotAction.uploadDocumentActionOrThrow(): UploadDocumentAction = this as dev.inmo.tgbotapi.types.actions.UploadDocumentAction public inline fun BotAction.ifUploadDocumentAction(block: (UploadDocumentAction) -> T): T? = uploadDocumentActionOrNull() ?.let(block) public inline fun BotAction.findLocationActionOrNull(): FindLocationAction? = this as? dev.inmo.tgbotapi.types.actions.FindLocationAction public inline fun BotAction.findLocationActionOrThrow(): FindLocationAction = this as dev.inmo.tgbotapi.types.actions.FindLocationAction public inline fun BotAction.ifFindLocationAction(block: (FindLocationAction) -> T): T? = findLocationActionOrNull() ?.let(block) public inline fun BotAction.recordVideoNoteActionOrNull(): RecordVideoNoteAction? = this as? dev.inmo.tgbotapi.types.actions.RecordVideoNoteAction public inline fun BotAction.recordVideoNoteActionOrThrow(): RecordVideoNoteAction = this as dev.inmo.tgbotapi.types.actions.RecordVideoNoteAction public inline fun BotAction.ifRecordVideoNoteAction(block: (RecordVideoNoteAction) -> T): T? = recordVideoNoteActionOrNull() ?.let(block) public inline fun BotAction.uploadVideoNoteActionOrNull(): UploadVideoNoteAction? = this as? dev.inmo.tgbotapi.types.actions.UploadVideoNoteAction public inline fun BotAction.uploadVideoNoteActionOrThrow(): UploadVideoNoteAction = this as dev.inmo.tgbotapi.types.actions.UploadVideoNoteAction public inline fun BotAction.ifUploadVideoNoteAction(block: (UploadVideoNoteAction) -> T): T? = uploadVideoNoteActionOrNull() ?.let(block) public inline fun BotAction.chooseStickerActionOrNull(): ChooseStickerAction? = this as? dev.inmo.tgbotapi.types.actions.ChooseStickerAction public inline fun BotAction.chooseStickerActionOrThrow(): ChooseStickerAction = this as dev.inmo.tgbotapi.types.actions.ChooseStickerAction public inline fun BotAction.ifChooseStickerAction(block: (ChooseStickerAction) -> T): T? = chooseStickerActionOrNull() ?.let(block) public inline fun BotAction.customBotActionOrNull(): CustomBotAction? = this as? dev.inmo.tgbotapi.types.actions.CustomBotAction public inline fun BotAction.customBotActionOrThrow(): CustomBotAction = this as dev.inmo.tgbotapi.types.actions.CustomBotAction public inline fun BotAction.ifCustomBotAction(block: (CustomBotAction) -> T): T? = customBotActionOrNull() ?.let(block) public inline fun ChatBoostSource.byUserOrNull(): ChatBoostSource.ByUser? = this as? dev.inmo.tgbotapi.types.boosts.ChatBoostSource.ByUser public inline fun ChatBoostSource.byUserOrThrow(): ChatBoostSource.ByUser = this as dev.inmo.tgbotapi.types.boosts.ChatBoostSource.ByUser public inline fun ChatBoostSource.ifByUser(block: (ChatBoostSource.ByUser) -> T): T? = byUserOrNull() ?.let(block) public inline fun ChatBoostSource.giftCodeOrNull(): ChatBoostSource.GiftCode? = this as? dev.inmo.tgbotapi.types.boosts.ChatBoostSource.GiftCode public inline fun ChatBoostSource.giftCodeOrThrow(): ChatBoostSource.GiftCode = this as dev.inmo.tgbotapi.types.boosts.ChatBoostSource.GiftCode public inline fun ChatBoostSource.ifGiftCode(block: (ChatBoostSource.GiftCode) -> T): T? = giftCodeOrNull() ?.let(block) public inline fun ChatBoostSource.claimedOrNull(): ChatBoostSource.Giveaway.Claimed? = this as? dev.inmo.tgbotapi.types.boosts.ChatBoostSource.Giveaway.Claimed public inline fun ChatBoostSource.claimedOrThrow(): ChatBoostSource.Giveaway.Claimed = this as dev.inmo.tgbotapi.types.boosts.ChatBoostSource.Giveaway.Claimed public inline fun ChatBoostSource.ifClaimed(block: (ChatBoostSource.Giveaway.Claimed) -> T): T? = claimedOrNull() ?.let(block) public inline fun ChatBoostSource.premiumOrNull(): ChatBoostSource.Premium? = this as? dev.inmo.tgbotapi.types.boosts.ChatBoostSource.Premium public inline fun ChatBoostSource.premiumOrThrow(): ChatBoostSource.Premium = this as dev.inmo.tgbotapi.types.boosts.ChatBoostSource.Premium public inline fun ChatBoostSource.ifPremium(block: (ChatBoostSource.Premium) -> T): T? = premiumOrNull() ?.let(block) public inline fun ChatBoostSource.giveawayOrNull(): ChatBoostSource.Giveaway? = this as? dev.inmo.tgbotapi.types.boosts.ChatBoostSource.Giveaway public inline fun ChatBoostSource.giveawayOrThrow(): ChatBoostSource.Giveaway = this as dev.inmo.tgbotapi.types.boosts.ChatBoostSource.Giveaway public inline fun ChatBoostSource.ifGiveaway(block: (ChatBoostSource.Giveaway) -> T): T? = giveawayOrNull() ?.let(block) public inline fun ChatBoostSource.unclaimedOrNull(): ChatBoostSource.Giveaway.Unclaimed? = this as? dev.inmo.tgbotapi.types.boosts.ChatBoostSource.Giveaway.Unclaimed public inline fun ChatBoostSource.unclaimedOrThrow(): ChatBoostSource.Giveaway.Unclaimed = this as dev.inmo.tgbotapi.types.boosts.ChatBoostSource.Giveaway.Unclaimed public inline fun ChatBoostSource.ifUnclaimed(block: (ChatBoostSource.Giveaway.Unclaimed) -> T): T? = unclaimedOrNull() ?.let(block) public inline fun ChatBoostSource.unknownOrNull(): ChatBoostSource.Unknown? = this as? dev.inmo.tgbotapi.types.boosts.ChatBoostSource.Unknown public inline fun ChatBoostSource.unknownOrThrow(): ChatBoostSource.Unknown = this as dev.inmo.tgbotapi.types.boosts.ChatBoostSource.Unknown public inline fun ChatBoostSource.ifUnknown(block: (ChatBoostSource.Unknown) -> T): T? = unknownOrNull() ?.let(block) public inline fun BusinessConnection.disabledOrNull(): BusinessConnection.Disabled? = this as? dev.inmo.tgbotapi.types.business_connection.BusinessConnection.Disabled public inline fun BusinessConnection.disabledOrThrow(): BusinessConnection.Disabled = this as dev.inmo.tgbotapi.types.business_connection.BusinessConnection.Disabled public inline fun BusinessConnection.ifDisabled(block: (BusinessConnection.Disabled) -> T): T? = disabledOrNull() ?.let(block) public inline fun BusinessConnection.enabledOrNull(): BusinessConnection.Enabled? = this as? dev.inmo.tgbotapi.types.business_connection.BusinessConnection.Enabled public inline fun BusinessConnection.enabledOrThrow(): BusinessConnection.Enabled = this as dev.inmo.tgbotapi.types.business_connection.BusinessConnection.Enabled public inline fun BusinessConnection.ifEnabled(block: (BusinessConnection.Enabled) -> T): T? = enabledOrNull() ?.let(block) public inline fun InlineKeyboardButton.unknownInlineKeyboardButtonOrNull(): UnknownInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.UnknownInlineKeyboardButton public inline fun InlineKeyboardButton.unknownInlineKeyboardButtonOrThrow(): UnknownInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.UnknownInlineKeyboardButton public inline fun InlineKeyboardButton.ifUnknownInlineKeyboardButton(block: (UnknownInlineKeyboardButton) -> T): T? = unknownInlineKeyboardButtonOrNull() ?.let(block) public inline fun InlineKeyboardButton.payInlineKeyboardButtonOrNull(): PayInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.PayInlineKeyboardButton public inline fun InlineKeyboardButton.payInlineKeyboardButtonOrThrow(): PayInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.PayInlineKeyboardButton public inline fun InlineKeyboardButton.ifPayInlineKeyboardButton(block: (PayInlineKeyboardButton) -> T): T? = payInlineKeyboardButtonOrNull() ?.let(block) public inline fun InlineKeyboardButton.callbackDataInlineKeyboardButtonOrNull(): CallbackDataInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackDataInlineKeyboardButton public inline fun InlineKeyboardButton.callbackDataInlineKeyboardButtonOrThrow(): CallbackDataInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackDataInlineKeyboardButton public inline fun InlineKeyboardButton.ifCallbackDataInlineKeyboardButton(block: (CallbackDataInlineKeyboardButton) -> T): T? = callbackDataInlineKeyboardButtonOrNull() ?.let(block) public inline fun InlineKeyboardButton.callbackGameInlineKeyboardButtonOrNull(): CallbackGameInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackGameInlineKeyboardButton public inline fun InlineKeyboardButton.callbackGameInlineKeyboardButtonOrThrow(): CallbackGameInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackGameInlineKeyboardButton public inline fun InlineKeyboardButton.ifCallbackGameInlineKeyboardButton(block: (CallbackGameInlineKeyboardButton) -> T): T? = callbackGameInlineKeyboardButtonOrNull() ?.let(block) public inline fun InlineKeyboardButton.loginURLInlineKeyboardButtonOrNull(): LoginURLInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.LoginURLInlineKeyboardButton public inline fun InlineKeyboardButton.loginURLInlineKeyboardButtonOrThrow(): LoginURLInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.LoginURLInlineKeyboardButton public inline fun InlineKeyboardButton.ifLoginURLInlineKeyboardButton(block: (LoginURLInlineKeyboardButton) -> T): T? = loginURLInlineKeyboardButtonOrNull() ?.let(block) public inline fun InlineKeyboardButton.switchInlineQueryCurrentChatInlineKeyboardButtonOrNull(): SwitchInlineQueryCurrentChatInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.SwitchInlineQueryCurrentChatInlineKeyboardButton public inline fun InlineKeyboardButton.switchInlineQueryCurrentChatInlineKeyboardButtonOrThrow(): SwitchInlineQueryCurrentChatInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.SwitchInlineQueryCurrentChatInlineKeyboardButton public inline fun InlineKeyboardButton.ifSwitchInlineQueryCurrentChatInlineKeyboardButton(block: (SwitchInlineQueryCurrentChatInlineKeyboardButton) -> T): T? = switchInlineQueryCurrentChatInlineKeyboardButtonOrNull() ?.let(block) public inline fun InlineKeyboardButton.switchInlineQueryChosenChatInlineKeyboardButtonOrNull(): SwitchInlineQueryChosenChatInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.SwitchInlineQueryChosenChatInlineKeyboardButton public inline fun InlineKeyboardButton.switchInlineQueryChosenChatInlineKeyboardButtonOrThrow(): SwitchInlineQueryChosenChatInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.SwitchInlineQueryChosenChatInlineKeyboardButton public inline fun InlineKeyboardButton.ifSwitchInlineQueryChosenChatInlineKeyboardButton(block: (SwitchInlineQueryChosenChatInlineKeyboardButton) -> T): T? = switchInlineQueryChosenChatInlineKeyboardButtonOrNull() ?.let(block) public inline fun InlineKeyboardButton.switchInlineQueryInlineKeyboardButtonOrNull(): SwitchInlineQueryInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.SwitchInlineQueryInlineKeyboardButton public inline fun InlineKeyboardButton.switchInlineQueryInlineKeyboardButtonOrThrow(): SwitchInlineQueryInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.SwitchInlineQueryInlineKeyboardButton public inline fun InlineKeyboardButton.ifSwitchInlineQueryInlineKeyboardButton(block: (SwitchInlineQueryInlineKeyboardButton) -> T): T? = switchInlineQueryInlineKeyboardButtonOrNull() ?.let(block) public inline fun InlineKeyboardButton.uRLInlineKeyboardButtonOrNull(): URLInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.URLInlineKeyboardButton public inline fun InlineKeyboardButton.uRLInlineKeyboardButtonOrThrow(): URLInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.URLInlineKeyboardButton public inline fun InlineKeyboardButton.ifURLInlineKeyboardButton(block: (URLInlineKeyboardButton) -> T): T? = uRLInlineKeyboardButtonOrNull() ?.let(block) public inline fun InlineKeyboardButton.webAppInlineKeyboardButtonOrNull(): WebAppInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.WebAppInlineKeyboardButton public inline fun InlineKeyboardButton.webAppInlineKeyboardButtonOrThrow(): WebAppInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.WebAppInlineKeyboardButton public inline fun InlineKeyboardButton.ifWebAppInlineKeyboardButton(block: (WebAppInlineKeyboardButton) -> T): T? = webAppInlineKeyboardButtonOrNull() ?.let(block) public inline fun KeyboardButtonRequestUsers.anyOrNull(): KeyboardButtonRequestUsers.Any? = this as? dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUsers.Any public inline fun KeyboardButtonRequestUsers.anyOrThrow(): KeyboardButtonRequestUsers.Any = this as dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUsers.Any public inline fun KeyboardButtonRequestUsers.ifAny(block: (KeyboardButtonRequestUsers.Any) -> T): T? = anyOrNull() ?.let(block) public inline fun KeyboardButtonRequestUsers.botOrNull(): KeyboardButtonRequestUsers.Bot? = this as? dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUsers.Bot public inline fun KeyboardButtonRequestUsers.botOrThrow(): KeyboardButtonRequestUsers.Bot = this as dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUsers.Bot public inline fun KeyboardButtonRequestUsers.ifBot(block: (KeyboardButtonRequestUsers.Bot) -> T): T? = botOrNull() ?.let(block) public inline fun KeyboardButtonRequestUsers.commonOrNull(): KeyboardButtonRequestUsers.Common? = this as? dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUsers.Common public inline fun KeyboardButtonRequestUsers.commonOrThrow(): KeyboardButtonRequestUsers.Common = this as dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUsers.Common public inline fun KeyboardButtonRequestUsers.ifCommon(block: (KeyboardButtonRequestUsers.Common) -> T): T? = commonOrNull() ?.let(block) public inline fun KeyboardMarkup.inlineKeyboardMarkupOrNull(): InlineKeyboardMarkup? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup public inline fun KeyboardMarkup.inlineKeyboardMarkupOrThrow(): InlineKeyboardMarkup = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup public inline fun KeyboardMarkup.ifInlineKeyboardMarkup(block: (InlineKeyboardMarkup) -> T): T? = inlineKeyboardMarkupOrNull() ?.let(block) public inline fun KeyboardMarkup.replyForceOrNull(): ReplyForce? = this as? dev.inmo.tgbotapi.types.buttons.ReplyForce public inline fun KeyboardMarkup.replyForceOrThrow(): ReplyForce = this as dev.inmo.tgbotapi.types.buttons.ReplyForce public inline fun KeyboardMarkup.ifReplyForce(block: (ReplyForce) -> T): T? = replyForceOrNull() ?.let(block) public inline fun KeyboardMarkup.replyKeyboardMarkupOrNull(): ReplyKeyboardMarkup? = this as? dev.inmo.tgbotapi.types.buttons.ReplyKeyboardMarkup public inline fun KeyboardMarkup.replyKeyboardMarkupOrThrow(): ReplyKeyboardMarkup = this as dev.inmo.tgbotapi.types.buttons.ReplyKeyboardMarkup public inline fun KeyboardMarkup.ifReplyKeyboardMarkup(block: (ReplyKeyboardMarkup) -> T): T? = replyKeyboardMarkupOrNull() ?.let(block) public inline fun KeyboardMarkup.replyKeyboardRemoveOrNull(): ReplyKeyboardRemove? = this as? dev.inmo.tgbotapi.types.buttons.ReplyKeyboardRemove public inline fun KeyboardMarkup.replyKeyboardRemoveOrThrow(): ReplyKeyboardRemove = this as dev.inmo.tgbotapi.types.buttons.ReplyKeyboardRemove public inline fun KeyboardMarkup.ifReplyKeyboardRemove(block: (ReplyKeyboardRemove) -> T): T? = replyKeyboardRemoveOrNull() ?.let(block) public inline fun Chat.usernameChatOrNull(): UsernameChat? = this as? dev.inmo.tgbotapi.types.chat.UsernameChat public inline fun Chat.usernameChatOrThrow(): UsernameChat = this as dev.inmo.tgbotapi.types.chat.UsernameChat public inline fun Chat.ifUsernameChat(block: (UsernameChat) -> T): T? = usernameChatOrNull() ?.let(block) public inline fun Chat.privateChatOrNull(): PrivateChat? = this as? dev.inmo.tgbotapi.types.chat.PrivateChat public inline fun Chat.privateChatOrThrow(): PrivateChat = this as dev.inmo.tgbotapi.types.chat.PrivateChat public inline fun Chat.ifPrivateChat(block: (PrivateChat) -> T): T? = privateChatOrNull() ?.let(block) public inline fun Chat.businessChatOrNull(): BusinessChat? = this as? dev.inmo.tgbotapi.types.chat.BusinessChat public inline fun Chat.businessChatOrThrow(): BusinessChat = this as dev.inmo.tgbotapi.types.chat.BusinessChat public inline fun Chat.ifBusinessChat(block: (BusinessChat) -> T): T? = businessChatOrNull() ?.let(block) public inline fun Chat.publicChatOrNull(): PublicChat? = this as? dev.inmo.tgbotapi.types.chat.PublicChat public inline fun Chat.publicChatOrThrow(): PublicChat = this as dev.inmo.tgbotapi.types.chat.PublicChat public inline fun Chat.ifPublicChat(block: (PublicChat) -> T): T? = publicChatOrNull() ?.let(block) public inline fun Chat.superPublicChatOrNull(): SuperPublicChat? = this as? dev.inmo.tgbotapi.types.chat.SuperPublicChat public inline fun Chat.superPublicChatOrThrow(): SuperPublicChat = this as dev.inmo.tgbotapi.types.chat.SuperPublicChat public inline fun Chat.ifSuperPublicChat(block: (SuperPublicChat) -> T): T? = superPublicChatOrNull() ?.let(block) public inline fun Chat.channelChatOrNull(): ChannelChat? = this as? dev.inmo.tgbotapi.types.chat.ChannelChat public inline fun Chat.channelChatOrThrow(): ChannelChat = this as dev.inmo.tgbotapi.types.chat.ChannelChat public inline fun Chat.ifChannelChat(block: (ChannelChat) -> T): T? = channelChatOrNull() ?.let(block) public inline fun Chat.groupChatOrNull(): GroupChat? = this as? dev.inmo.tgbotapi.types.chat.GroupChat public inline fun Chat.groupChatOrThrow(): GroupChat = this as dev.inmo.tgbotapi.types.chat.GroupChat public inline fun Chat.ifGroupChat(block: (GroupChat) -> T): T? = groupChatOrNull() ?.let(block) public inline fun Chat.supergroupChatOrNull(): SupergroupChat? = this as? dev.inmo.tgbotapi.types.chat.SupergroupChat public inline fun Chat.supergroupChatOrThrow(): SupergroupChat = this as dev.inmo.tgbotapi.types.chat.SupergroupChat public inline fun Chat.ifSupergroupChat(block: (SupergroupChat) -> T): T? = supergroupChatOrNull() ?.let(block) public inline fun Chat.forumChatOrNull(): ForumChat? = this as? dev.inmo.tgbotapi.types.chat.ForumChat public inline fun Chat.forumChatOrThrow(): ForumChat = this as dev.inmo.tgbotapi.types.chat.ForumChat public inline fun Chat.ifForumChat(block: (ForumChat) -> T): T? = forumChatOrNull() ?.let(block) public inline fun Chat.possiblyPremiumChatOrNull(): PossiblyPremiumChat? = this as? dev.inmo.tgbotapi.types.chat.PossiblyPremiumChat public inline fun Chat.possiblyPremiumChatOrThrow(): PossiblyPremiumChat = this as dev.inmo.tgbotapi.types.chat.PossiblyPremiumChat public inline fun Chat.ifPossiblyPremiumChat(block: (PossiblyPremiumChat) -> T): T? = possiblyPremiumChatOrNull() ?.let(block) public inline fun Chat.ableToAddInAttachmentMenuChatOrNull(): AbleToAddInAttachmentMenuChat? = this as? dev.inmo.tgbotapi.types.chat.AbleToAddInAttachmentMenuChat public inline fun Chat.ableToAddInAttachmentMenuChatOrThrow(): AbleToAddInAttachmentMenuChat = this as dev.inmo.tgbotapi.types.chat.AbleToAddInAttachmentMenuChat public inline fun Chat.ifAbleToAddInAttachmentMenuChat(block: (AbleToAddInAttachmentMenuChat) -> T): T? = ableToAddInAttachmentMenuChatOrNull() ?.let(block) public inline fun Chat.extendedBotOrNull(): ExtendedBot? = this as? dev.inmo.tgbotapi.types.chat.ExtendedBot public inline fun Chat.extendedBotOrThrow(): ExtendedBot = this as dev.inmo.tgbotapi.types.chat.ExtendedBot public inline fun Chat.ifExtendedBot(block: (ExtendedBot) -> T): T? = extendedBotOrNull() ?.let(block) public inline fun Chat.unknownExtendedChatOrNull(): UnknownExtendedChat? = this as? dev.inmo.tgbotapi.types.chat.UnknownExtendedChat public inline fun Chat.unknownExtendedChatOrThrow(): UnknownExtendedChat = this as dev.inmo.tgbotapi.types.chat.UnknownExtendedChat public inline fun Chat.ifUnknownExtendedChat(block: (UnknownExtendedChat) -> T): T? = unknownExtendedChatOrNull() ?.let(block) public inline fun Chat.extendedChatOrNull(): ExtendedChat? = this as? dev.inmo.tgbotapi.types.chat.ExtendedChat public inline fun Chat.extendedChatOrThrow(): ExtendedChat = this as dev.inmo.tgbotapi.types.chat.ExtendedChat public inline fun Chat.ifExtendedChat(block: (ExtendedChat) -> T): T? = extendedChatOrNull() ?.let(block) public inline fun Chat.extendedNonBotChatOrNull(): ExtendedNonBotChat? = this as? dev.inmo.tgbotapi.types.chat.ExtendedNonBotChat public inline fun Chat.extendedNonBotChatOrThrow(): ExtendedNonBotChat = this as dev.inmo.tgbotapi.types.chat.ExtendedNonBotChat public inline fun Chat.ifExtendedNonBotChat(block: (ExtendedNonBotChat) -> T): T? = extendedNonBotChatOrNull() ?.let(block) public inline fun Chat.extendedChannelChatOrNull(): ExtendedChannelChat? = this as? dev.inmo.tgbotapi.types.chat.ExtendedChannelChat public inline fun Chat.extendedChannelChatOrThrow(): ExtendedChannelChat = this as dev.inmo.tgbotapi.types.chat.ExtendedChannelChat public inline fun Chat.ifExtendedChannelChat(block: (ExtendedChannelChat) -> T): T? = extendedChannelChatOrNull() ?.let(block) public inline fun Chat.extendedGroupChatOrNull(): ExtendedGroupChat? = this as? dev.inmo.tgbotapi.types.chat.ExtendedGroupChat public inline fun Chat.extendedGroupChatOrThrow(): ExtendedGroupChat = this as dev.inmo.tgbotapi.types.chat.ExtendedGroupChat public inline fun Chat.ifExtendedGroupChat(block: (ExtendedGroupChat) -> T): T? = extendedGroupChatOrNull() ?.let(block) public inline fun Chat.extendedPrivateChatOrNull(): ExtendedPrivateChat? = this as? dev.inmo.tgbotapi.types.chat.ExtendedPrivateChat public inline fun Chat.extendedPrivateChatOrThrow(): ExtendedPrivateChat = this as dev.inmo.tgbotapi.types.chat.ExtendedPrivateChat public inline fun Chat.ifExtendedPrivateChat(block: (ExtendedPrivateChat) -> T): T? = extendedPrivateChatOrNull() ?.let(block) public inline fun Chat.extendedPublicChatOrNull(): ExtendedPublicChat? = this as? dev.inmo.tgbotapi.types.chat.ExtendedPublicChat public inline fun Chat.extendedPublicChatOrThrow(): ExtendedPublicChat = this as dev.inmo.tgbotapi.types.chat.ExtendedPublicChat public inline fun Chat.ifExtendedPublicChat(block: (ExtendedPublicChat) -> T): T? = extendedPublicChatOrNull() ?.let(block) public inline fun Chat.extendedSupergroupChatOrNull(): ExtendedSupergroupChat? = this as? dev.inmo.tgbotapi.types.chat.ExtendedSupergroupChat public inline fun Chat.extendedSupergroupChatOrThrow(): ExtendedSupergroupChat = this as dev.inmo.tgbotapi.types.chat.ExtendedSupergroupChat public inline fun Chat.ifExtendedSupergroupChat(block: (ExtendedSupergroupChat) -> T): T? = extendedSupergroupChatOrNull() ?.let(block) public inline fun Chat.extendedForumChatOrNull(): ExtendedForumChat? = this as? dev.inmo.tgbotapi.types.chat.ExtendedForumChat public inline fun Chat.extendedForumChatOrThrow(): ExtendedForumChat = this as dev.inmo.tgbotapi.types.chat.ExtendedForumChat public inline fun Chat.ifExtendedForumChat(block: (ExtendedForumChat) -> T): T? = extendedForumChatOrNull() ?.let(block) public inline fun Chat.extendedChatWithUsernameOrNull(): ExtendedChatWithUsername? = this as? dev.inmo.tgbotapi.types.chat.ExtendedChatWithUsername public inline fun Chat.extendedChatWithUsernameOrThrow(): ExtendedChatWithUsername = this as dev.inmo.tgbotapi.types.chat.ExtendedChatWithUsername public inline fun Chat.ifExtendedChatWithUsername(block: (ExtendedChatWithUsername) -> T): T? = extendedChatWithUsernameOrNull() ?.let(block) public inline fun Chat.extendedBusinessChatOrNull(): ExtendedBusinessChat? = this as? dev.inmo.tgbotapi.types.chat.ExtendedBusinessChat public inline fun Chat.extendedBusinessChatOrThrow(): ExtendedBusinessChat = this as dev.inmo.tgbotapi.types.chat.ExtendedBusinessChat public inline fun Chat.ifExtendedBusinessChat(block: (ExtendedBusinessChat) -> T): T? = extendedBusinessChatOrNull() ?.let(block) public inline fun Chat.userOrNull(): User? = this as? dev.inmo.tgbotapi.types.chat.User public inline fun Chat.userOrThrow(): User = this as dev.inmo.tgbotapi.types.chat.User public inline fun Chat.ifUser(block: (User) -> T): T? = userOrNull() ?.let(block) public inline fun Chat.previewUserOrNull(): PreviewUser? = this as? dev.inmo.tgbotapi.types.chat.PreviewUser public inline fun Chat.previewUserOrThrow(): PreviewUser = this as dev.inmo.tgbotapi.types.chat.PreviewUser public inline fun Chat.ifPreviewUser(block: (PreviewUser) -> T): T? = previewUserOrNull() ?.let(block) public inline fun Chat.botOrNull(): Bot? = this as? dev.inmo.tgbotapi.types.chat.Bot public inline fun Chat.botOrThrow(): Bot = this as dev.inmo.tgbotapi.types.chat.Bot public inline fun Chat.ifBot(block: (Bot) -> T): T? = botOrNull() ?.let(block) public inline fun Chat.previewBotOrNull(): PreviewBot? = this as? dev.inmo.tgbotapi.types.chat.PreviewBot public inline fun Chat.previewBotOrThrow(): PreviewBot = this as dev.inmo.tgbotapi.types.chat.PreviewBot public inline fun Chat.ifPreviewBot(block: (PreviewBot) -> T): T? = previewBotOrNull() ?.let(block) public inline fun Chat.commonBotOrNull(): CommonBot? = this as? dev.inmo.tgbotapi.types.chat.CommonBot public inline fun Chat.commonBotOrThrow(): CommonBot = this as dev.inmo.tgbotapi.types.chat.CommonBot public inline fun Chat.ifCommonBot(block: (CommonBot) -> T): T? = commonBotOrNull() ?.let(block) public inline fun Chat.commonUserOrNull(): CommonUser? = this as? dev.inmo.tgbotapi.types.chat.CommonUser public inline fun Chat.commonUserOrThrow(): CommonUser = this as dev.inmo.tgbotapi.types.chat.CommonUser public inline fun Chat.ifCommonUser(block: (CommonUser) -> T): T? = commonUserOrNull() ?.let(block) public inline fun Chat.previewChatOrNull(): PreviewChat? = this as? dev.inmo.tgbotapi.types.chat.PreviewChat public inline fun Chat.previewChatOrThrow(): PreviewChat = this as dev.inmo.tgbotapi.types.chat.PreviewChat public inline fun Chat.ifPreviewChat(block: (PreviewChat) -> T): T? = previewChatOrNull() ?.let(block) public inline fun Chat.previewUsernameChatOrNull(): PreviewUsernameChat? = this as? dev.inmo.tgbotapi.types.chat.PreviewUsernameChat public inline fun Chat.previewUsernameChatOrThrow(): PreviewUsernameChat = this as dev.inmo.tgbotapi.types.chat.PreviewUsernameChat public inline fun Chat.ifPreviewUsernameChat(block: (PreviewUsernameChat) -> T): T? = previewUsernameChatOrNull() ?.let(block) public inline fun Chat.previewPrivateChatOrNull(): PreviewPrivateChat? = this as? dev.inmo.tgbotapi.types.chat.PreviewPrivateChat public inline fun Chat.previewPrivateChatOrThrow(): PreviewPrivateChat = this as dev.inmo.tgbotapi.types.chat.PreviewPrivateChat public inline fun Chat.ifPreviewPrivateChat(block: (PreviewPrivateChat) -> T): T? = previewPrivateChatOrNull() ?.let(block) public inline fun Chat.previewBusinessChatOrNull(): PreviewBusinessChat? = this as? dev.inmo.tgbotapi.types.chat.PreviewBusinessChat public inline fun Chat.previewBusinessChatOrThrow(): PreviewBusinessChat = this as dev.inmo.tgbotapi.types.chat.PreviewBusinessChat public inline fun Chat.ifPreviewBusinessChat(block: (PreviewBusinessChat) -> T): T? = previewBusinessChatOrNull() ?.let(block) public inline fun Chat.previewPublicChatOrNull(): PreviewPublicChat? = this as? dev.inmo.tgbotapi.types.chat.PreviewPublicChat public inline fun Chat.previewPublicChatOrThrow(): PreviewPublicChat = this as dev.inmo.tgbotapi.types.chat.PreviewPublicChat public inline fun Chat.ifPreviewPublicChat(block: (PreviewPublicChat) -> T): T? = previewPublicChatOrNull() ?.let(block) public inline fun Chat.previewSuperPublicChatOrNull(): PreviewSuperPublicChat? = this as? dev.inmo.tgbotapi.types.chat.PreviewSuperPublicChat public inline fun Chat.previewSuperPublicChatOrThrow(): PreviewSuperPublicChat = this as dev.inmo.tgbotapi.types.chat.PreviewSuperPublicChat public inline fun Chat.ifPreviewSuperPublicChat(block: (PreviewSuperPublicChat) -> T): T? = previewSuperPublicChatOrNull() ?.let(block) public inline fun Chat.previewChannelChatOrNull(): PreviewChannelChat? = this as? dev.inmo.tgbotapi.types.chat.PreviewChannelChat public inline fun Chat.previewChannelChatOrThrow(): PreviewChannelChat = this as dev.inmo.tgbotapi.types.chat.PreviewChannelChat public inline fun Chat.ifPreviewChannelChat(block: (PreviewChannelChat) -> T): T? = previewChannelChatOrNull() ?.let(block) public inline fun Chat.previewGroupChatOrNull(): PreviewGroupChat? = this as? dev.inmo.tgbotapi.types.chat.PreviewGroupChat public inline fun Chat.previewGroupChatOrThrow(): PreviewGroupChat = this as dev.inmo.tgbotapi.types.chat.PreviewGroupChat public inline fun Chat.ifPreviewGroupChat(block: (PreviewGroupChat) -> T): T? = previewGroupChatOrNull() ?.let(block) public inline fun Chat.previewSupergroupChatOrNull(): PreviewSupergroupChat? = this as? dev.inmo.tgbotapi.types.chat.PreviewSupergroupChat public inline fun Chat.previewSupergroupChatOrThrow(): PreviewSupergroupChat = this as dev.inmo.tgbotapi.types.chat.PreviewSupergroupChat public inline fun Chat.ifPreviewSupergroupChat(block: (PreviewSupergroupChat) -> T): T? = previewSupergroupChatOrNull() ?.let(block) public inline fun Chat.previewForumChatOrNull(): PreviewForumChat? = this as? dev.inmo.tgbotapi.types.chat.PreviewForumChat public inline fun Chat.previewForumChatOrThrow(): PreviewForumChat = this as dev.inmo.tgbotapi.types.chat.PreviewForumChat public inline fun Chat.ifPreviewForumChat(block: (PreviewForumChat) -> T): T? = previewForumChatOrNull() ?.let(block) public inline fun Chat.unknownChatTypeOrNull(): UnknownChatType? = this as? dev.inmo.tgbotapi.types.chat.UnknownChatType public inline fun Chat.unknownChatTypeOrThrow(): UnknownChatType = this as dev.inmo.tgbotapi.types.chat.UnknownChatType public inline fun Chat.ifUnknownChatType(block: (UnknownChatType) -> T): T? = unknownChatTypeOrNull() ?.let(block) public inline fun ChatMessageReactionUpdated.byChatOrNull(): ChatMessageReactionUpdated.ByChat? = this as? dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.ByChat public inline fun ChatMessageReactionUpdated.byChatOrThrow(): ChatMessageReactionUpdated.ByChat = this as dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.ByChat public inline fun ChatMessageReactionUpdated.ifByChat(block: (ChatMessageReactionUpdated.ByChat) -> T): T? = byChatOrNull() ?.let(block) public inline fun ChatMessageReactionUpdated.byUserOrNull(): ChatMessageReactionUpdated.ByUser? = this as? dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.ByUser public inline fun ChatMessageReactionUpdated.byUserOrThrow(): ChatMessageReactionUpdated.ByUser = this as dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.ByUser public inline fun ChatMessageReactionUpdated.ifByUser(block: (ChatMessageReactionUpdated.ByUser) -> T): T? = byUserOrNull() ?.let(block) public inline fun ChatMessageReactionUpdated.unknownOrNull(): ChatMessageReactionUpdated.Unknown? = this as? dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.Unknown public inline fun ChatMessageReactionUpdated.unknownOrThrow(): ChatMessageReactionUpdated.Unknown = this as dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated.Unknown public inline fun ChatMessageReactionUpdated.ifUnknown(block: (ChatMessageReactionUpdated.Unknown) -> T): T? = unknownOrNull() ?.let(block) public inline fun DiceAnimationType.cubeDiceAnimationTypeOrNull(): CubeDiceAnimationType? = this as? dev.inmo.tgbotapi.types.dice.CubeDiceAnimationType public inline fun DiceAnimationType.cubeDiceAnimationTypeOrThrow(): CubeDiceAnimationType = this as dev.inmo.tgbotapi.types.dice.CubeDiceAnimationType public inline fun DiceAnimationType.ifCubeDiceAnimationType(block: (CubeDiceAnimationType) -> T): T? = cubeDiceAnimationTypeOrNull() ?.let(block) public inline fun DiceAnimationType.dartsDiceAnimationTypeOrNull(): DartsDiceAnimationType? = this as? dev.inmo.tgbotapi.types.dice.DartsDiceAnimationType public inline fun DiceAnimationType.dartsDiceAnimationTypeOrThrow(): DartsDiceAnimationType = this as dev.inmo.tgbotapi.types.dice.DartsDiceAnimationType public inline fun DiceAnimationType.ifDartsDiceAnimationType(block: (DartsDiceAnimationType) -> T): T? = dartsDiceAnimationTypeOrNull() ?.let(block) public inline fun DiceAnimationType.basketballDiceAnimationTypeOrNull(): BasketballDiceAnimationType? = this as? dev.inmo.tgbotapi.types.dice.BasketballDiceAnimationType public inline fun DiceAnimationType.basketballDiceAnimationTypeOrThrow(): BasketballDiceAnimationType = this as dev.inmo.tgbotapi.types.dice.BasketballDiceAnimationType public inline fun DiceAnimationType.ifBasketballDiceAnimationType(block: (BasketballDiceAnimationType) -> T): T? = basketballDiceAnimationTypeOrNull() ?.let(block) public inline fun DiceAnimationType.footballDiceAnimationTypeOrNull(): FootballDiceAnimationType? = this as? dev.inmo.tgbotapi.types.dice.FootballDiceAnimationType public inline fun DiceAnimationType.footballDiceAnimationTypeOrThrow(): FootballDiceAnimationType = this as dev.inmo.tgbotapi.types.dice.FootballDiceAnimationType public inline fun DiceAnimationType.ifFootballDiceAnimationType(block: (FootballDiceAnimationType) -> T): T? = footballDiceAnimationTypeOrNull() ?.let(block) public inline fun DiceAnimationType.bowlingDiceAnimationTypeOrNull(): BowlingDiceAnimationType? = this as? dev.inmo.tgbotapi.types.dice.BowlingDiceAnimationType public inline fun DiceAnimationType.bowlingDiceAnimationTypeOrThrow(): BowlingDiceAnimationType = this as dev.inmo.tgbotapi.types.dice.BowlingDiceAnimationType public inline fun DiceAnimationType.ifBowlingDiceAnimationType(block: (BowlingDiceAnimationType) -> T): T? = bowlingDiceAnimationTypeOrNull() ?.let(block) public inline fun DiceAnimationType.slotMachineDiceAnimationTypeOrNull(): SlotMachineDiceAnimationType? = this as? dev.inmo.tgbotapi.types.dice.SlotMachineDiceAnimationType public inline fun DiceAnimationType.slotMachineDiceAnimationTypeOrThrow(): SlotMachineDiceAnimationType = this as dev.inmo.tgbotapi.types.dice.SlotMachineDiceAnimationType public inline fun DiceAnimationType.ifSlotMachineDiceAnimationType(block: (SlotMachineDiceAnimationType) -> T): T? = slotMachineDiceAnimationTypeOrNull() ?.let(block) public inline fun DiceAnimationType.customDiceAnimationTypeOrNull(): CustomDiceAnimationType? = this as? dev.inmo.tgbotapi.types.dice.CustomDiceAnimationType public inline fun DiceAnimationType.customDiceAnimationTypeOrThrow(): CustomDiceAnimationType = this as dev.inmo.tgbotapi.types.dice.CustomDiceAnimationType public inline fun DiceAnimationType.ifCustomDiceAnimationType(block: (CustomDiceAnimationType) -> T): T? = customDiceAnimationTypeOrNull() ?.let(block) public inline fun TelegramMediaFile.animationFileOrNull(): AnimationFile? = this as? dev.inmo.tgbotapi.types.files.AnimationFile public inline fun TelegramMediaFile.animationFileOrThrow(): AnimationFile = this as dev.inmo.tgbotapi.types.files.AnimationFile public inline fun TelegramMediaFile.ifAnimationFile(block: (AnimationFile) -> T): T? = animationFileOrNull() ?.let(block) public inline fun TelegramMediaFile.audioFileOrNull(): AudioFile? = this as? dev.inmo.tgbotapi.types.files.AudioFile public inline fun TelegramMediaFile.audioFileOrThrow(): AudioFile = this as dev.inmo.tgbotapi.types.files.AudioFile public inline fun TelegramMediaFile.ifAudioFile(block: (AudioFile) -> T): T? = audioFileOrNull() ?.let(block) public inline fun TelegramMediaFile.documentFileOrNull(): DocumentFile? = this as? dev.inmo.tgbotapi.types.files.DocumentFile public inline fun TelegramMediaFile.documentFileOrThrow(): DocumentFile = this as dev.inmo.tgbotapi.types.files.DocumentFile public inline fun TelegramMediaFile.ifDocumentFile(block: (DocumentFile) -> T): T? = documentFileOrNull() ?.let(block) public inline fun TelegramMediaFile.fileOrNull(): File? = this as? dev.inmo.tgbotapi.types.files.File public inline fun TelegramMediaFile.fileOrThrow(): File = this as dev.inmo.tgbotapi.types.files.File public inline fun TelegramMediaFile.ifFile(block: (File) -> T): T? = fileOrNull() ?.let(block) public inline fun TelegramMediaFile.mediaContentVariantOrNull(): MediaContentVariant? = this as? dev.inmo.tgbotapi.types.files.MediaContentVariant public inline fun TelegramMediaFile.mediaContentVariantOrThrow(): MediaContentVariant = this as dev.inmo.tgbotapi.types.files.MediaContentVariant public inline fun TelegramMediaFile.ifMediaContentVariant(block: (MediaContentVariant) -> T): T? = mediaContentVariantOrNull() ?.let(block) public inline fun TelegramMediaFile.mimedMediaFileOrNull(): MimedMediaFile? = this as? dev.inmo.tgbotapi.types.files.MimedMediaFile public inline fun TelegramMediaFile.mimedMediaFileOrThrow(): MimedMediaFile = this as dev.inmo.tgbotapi.types.files.MimedMediaFile public inline fun TelegramMediaFile.ifMimedMediaFile(block: (MimedMediaFile) -> T): T? = mimedMediaFileOrNull() ?.let(block) public inline fun TelegramMediaFile.passportFileOrNull(): PassportFile? = this as? dev.inmo.tgbotapi.types.files.PassportFile public inline fun TelegramMediaFile.passportFileOrThrow(): PassportFile = this as dev.inmo.tgbotapi.types.files.PassportFile public inline fun TelegramMediaFile.ifPassportFile(block: (PassportFile) -> T): T? = passportFileOrNull() ?.let(block) public inline fun TelegramMediaFile.pathedFileOrNull(): PathedFile? = this as? dev.inmo.tgbotapi.types.files.PathedFile public inline fun TelegramMediaFile.pathedFileOrThrow(): PathedFile = this as dev.inmo.tgbotapi.types.files.PathedFile public inline fun TelegramMediaFile.ifPathedFile(block: (PathedFile) -> T): T? = pathedFileOrNull() ?.let(block) public inline fun TelegramMediaFile.photoOrNull(): Photo? = this as? dev.inmo.tgbotapi.types.files.Photo public inline fun TelegramMediaFile.photoOrThrow(): Photo = this as dev.inmo.tgbotapi.types.files.Photo public inline fun TelegramMediaFile.ifPhoto(block: (Photo) -> T): T? = photoOrNull() ?.let(block) public inline fun TelegramMediaFile.photoSizeOrNull(): PhotoSize? = this as? dev.inmo.tgbotapi.types.files.PhotoSize public inline fun TelegramMediaFile.photoSizeOrThrow(): PhotoSize = this as dev.inmo.tgbotapi.types.files.PhotoSize public inline fun TelegramMediaFile.ifPhotoSize(block: (PhotoSize) -> T): T? = photoSizeOrNull() ?.let(block) public inline fun TelegramMediaFile.playableMediaFileOrNull(): PlayableMediaFile? = this as? dev.inmo.tgbotapi.types.files.PlayableMediaFile public inline fun TelegramMediaFile.playableMediaFileOrThrow(): PlayableMediaFile = this as dev.inmo.tgbotapi.types.files.PlayableMediaFile public inline fun TelegramMediaFile.ifPlayableMediaFile(block: (PlayableMediaFile) -> T): T? = playableMediaFileOrNull() ?.let(block) public inline fun TelegramMediaFile.sizedMediaFileOrNull(): SizedMediaFile? = this as? dev.inmo.tgbotapi.types.files.SizedMediaFile public inline fun TelegramMediaFile.sizedMediaFileOrThrow(): SizedMediaFile = this as dev.inmo.tgbotapi.types.files.SizedMediaFile public inline fun TelegramMediaFile.ifSizedMediaFile(block: (SizedMediaFile) -> T): T? = sizedMediaFileOrNull() ?.let(block) public inline fun TelegramMediaFile.stickerOrNull(): Sticker? = this as? dev.inmo.tgbotapi.types.files.Sticker public inline fun TelegramMediaFile.stickerOrThrow(): Sticker = this as dev.inmo.tgbotapi.types.files.Sticker public inline fun TelegramMediaFile.ifSticker(block: (Sticker) -> T): T? = stickerOrNull() ?.let(block) public inline fun TelegramMediaFile.videoStickerOrNull(): VideoSticker? = this as? dev.inmo.tgbotapi.types.files.VideoSticker public inline fun TelegramMediaFile.videoStickerOrThrow(): VideoSticker = this as dev.inmo.tgbotapi.types.files.VideoSticker public inline fun TelegramMediaFile.ifVideoSticker(block: (VideoSticker) -> T): T? = videoStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.animatedStickerOrNull(): AnimatedSticker? = this as? dev.inmo.tgbotapi.types.files.AnimatedSticker public inline fun TelegramMediaFile.animatedStickerOrThrow(): AnimatedSticker = this as dev.inmo.tgbotapi.types.files.AnimatedSticker public inline fun TelegramMediaFile.ifAnimatedSticker(block: (AnimatedSticker) -> T): T? = animatedStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.regularStickerOrNull(): RegularSticker? = this as? dev.inmo.tgbotapi.types.files.RegularSticker public inline fun TelegramMediaFile.regularStickerOrThrow(): RegularSticker = this as dev.inmo.tgbotapi.types.files.RegularSticker public inline fun TelegramMediaFile.ifRegularSticker(block: (RegularSticker) -> T): T? = regularStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.regularSimpleStickerOrNull(): RegularSimpleSticker? = this as? dev.inmo.tgbotapi.types.files.RegularSimpleSticker public inline fun TelegramMediaFile.regularSimpleStickerOrThrow(): RegularSimpleSticker = this as dev.inmo.tgbotapi.types.files.RegularSimpleSticker public inline fun TelegramMediaFile.ifRegularSimpleSticker(block: (RegularSimpleSticker) -> T): T? = regularSimpleStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.regularAnimatedStickerOrNull(): RegularAnimatedSticker? = this as? dev.inmo.tgbotapi.types.files.RegularAnimatedSticker public inline fun TelegramMediaFile.regularAnimatedStickerOrThrow(): RegularAnimatedSticker = this as dev.inmo.tgbotapi.types.files.RegularAnimatedSticker public inline fun TelegramMediaFile.ifRegularAnimatedSticker(block: (RegularAnimatedSticker) -> T): T? = regularAnimatedStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.regularVideoStickerOrNull(): RegularVideoSticker? = this as? dev.inmo.tgbotapi.types.files.RegularVideoSticker public inline fun TelegramMediaFile.regularVideoStickerOrThrow(): RegularVideoSticker = this as dev.inmo.tgbotapi.types.files.RegularVideoSticker public inline fun TelegramMediaFile.ifRegularVideoSticker(block: (RegularVideoSticker) -> T): T? = regularVideoStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.maskStickerOrNull(): MaskSticker? = this as? dev.inmo.tgbotapi.types.files.MaskSticker public inline fun TelegramMediaFile.maskStickerOrThrow(): MaskSticker = this as dev.inmo.tgbotapi.types.files.MaskSticker public inline fun TelegramMediaFile.ifMaskSticker(block: (MaskSticker) -> T): T? = maskStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.maskSimpleStickerOrNull(): MaskSimpleSticker? = this as? dev.inmo.tgbotapi.types.files.MaskSimpleSticker public inline fun TelegramMediaFile.maskSimpleStickerOrThrow(): MaskSimpleSticker = this as dev.inmo.tgbotapi.types.files.MaskSimpleSticker public inline fun TelegramMediaFile.ifMaskSimpleSticker(block: (MaskSimpleSticker) -> T): T? = maskSimpleStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.maskAnimatedStickerOrNull(): MaskAnimatedSticker? = this as? dev.inmo.tgbotapi.types.files.MaskAnimatedSticker public inline fun TelegramMediaFile.maskAnimatedStickerOrThrow(): MaskAnimatedSticker = this as dev.inmo.tgbotapi.types.files.MaskAnimatedSticker public inline fun TelegramMediaFile.ifMaskAnimatedSticker(block: (MaskAnimatedSticker) -> T): T? = maskAnimatedStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.maskVideoStickerOrNull(): MaskVideoSticker? = this as? dev.inmo.tgbotapi.types.files.MaskVideoSticker public inline fun TelegramMediaFile.maskVideoStickerOrThrow(): MaskVideoSticker = this as dev.inmo.tgbotapi.types.files.MaskVideoSticker public inline fun TelegramMediaFile.ifMaskVideoSticker(block: (MaskVideoSticker) -> T): T? = maskVideoStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.customEmojiStickerOrNull(): CustomEmojiSticker? = this as? dev.inmo.tgbotapi.types.files.CustomEmojiSticker public inline fun TelegramMediaFile.customEmojiStickerOrThrow(): CustomEmojiSticker = this as dev.inmo.tgbotapi.types.files.CustomEmojiSticker public inline fun TelegramMediaFile.ifCustomEmojiSticker(block: (CustomEmojiSticker) -> T): T? = customEmojiStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.customEmojiSimpleStickerOrNull(): CustomEmojiSimpleSticker? = this as? dev.inmo.tgbotapi.types.files.CustomEmojiSimpleSticker public inline fun TelegramMediaFile.customEmojiSimpleStickerOrThrow(): CustomEmojiSimpleSticker = this as dev.inmo.tgbotapi.types.files.CustomEmojiSimpleSticker public inline fun TelegramMediaFile.ifCustomEmojiSimpleSticker(block: (CustomEmojiSimpleSticker) -> T): T? = customEmojiSimpleStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.customEmojiAnimatedStickerOrNull(): CustomEmojiAnimatedSticker? = this as? dev.inmo.tgbotapi.types.files.CustomEmojiAnimatedSticker public inline fun TelegramMediaFile.customEmojiAnimatedStickerOrThrow(): CustomEmojiAnimatedSticker = this as dev.inmo.tgbotapi.types.files.CustomEmojiAnimatedSticker public inline fun TelegramMediaFile.ifCustomEmojiAnimatedSticker(block: (CustomEmojiAnimatedSticker) -> T): T? = customEmojiAnimatedStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.customEmojiVideoStickerOrNull(): CustomEmojiVideoSticker? = this as? dev.inmo.tgbotapi.types.files.CustomEmojiVideoSticker public inline fun TelegramMediaFile.customEmojiVideoStickerOrThrow(): CustomEmojiVideoSticker = this as dev.inmo.tgbotapi.types.files.CustomEmojiVideoSticker public inline fun TelegramMediaFile.ifCustomEmojiVideoSticker(block: (CustomEmojiVideoSticker) -> T): T? = customEmojiVideoStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.unknownStickerOrNull(): UnknownSticker? = this as? dev.inmo.tgbotapi.types.files.UnknownSticker public inline fun TelegramMediaFile.unknownStickerOrThrow(): UnknownSticker = this as dev.inmo.tgbotapi.types.files.UnknownSticker public inline fun TelegramMediaFile.ifUnknownSticker(block: (UnknownSticker) -> T): T? = unknownStickerOrNull() ?.let(block) public inline fun TelegramMediaFile.thumbedMediaFileOrNull(): ThumbedMediaFile? = this as? dev.inmo.tgbotapi.types.files.ThumbedMediaFile public inline fun TelegramMediaFile.thumbedMediaFileOrThrow(): ThumbedMediaFile = this as dev.inmo.tgbotapi.types.files.ThumbedMediaFile public inline fun TelegramMediaFile.ifThumbedMediaFile(block: (ThumbedMediaFile) -> T): T? = thumbedMediaFileOrNull() ?.let(block) public inline fun TelegramMediaFile.videoFileOrNull(): VideoFile? = this as? dev.inmo.tgbotapi.types.files.VideoFile public inline fun TelegramMediaFile.videoFileOrThrow(): VideoFile = this as dev.inmo.tgbotapi.types.files.VideoFile public inline fun TelegramMediaFile.ifVideoFile(block: (VideoFile) -> T): T? = videoFileOrNull() ?.let(block) public inline fun TelegramMediaFile.videoNoteFileOrNull(): VideoNoteFile? = this as? dev.inmo.tgbotapi.types.files.VideoNoteFile public inline fun TelegramMediaFile.videoNoteFileOrThrow(): VideoNoteFile = this as dev.inmo.tgbotapi.types.files.VideoNoteFile public inline fun TelegramMediaFile.ifVideoNoteFile(block: (VideoNoteFile) -> T): T? = videoNoteFileOrNull() ?.let(block) public inline fun TelegramMediaFile.voiceFileOrNull(): VoiceFile? = this as? dev.inmo.tgbotapi.types.files.VoiceFile public inline fun TelegramMediaFile.voiceFileOrThrow(): VoiceFile = this as dev.inmo.tgbotapi.types.files.VoiceFile public inline fun TelegramMediaFile.ifVoiceFile(block: (VoiceFile) -> T): T? = voiceFileOrNull() ?.let(block) public inline fun Location.staticLocationOrNull(): StaticLocation? = this as? dev.inmo.tgbotapi.types.location.StaticLocation public inline fun Location.staticLocationOrThrow(): StaticLocation = this as dev.inmo.tgbotapi.types.location.StaticLocation public inline fun Location.ifStaticLocation(block: (StaticLocation) -> T): T? = staticLocationOrNull() ?.let(block) public inline fun Location.liveLocationOrNull(): LiveLocation? = this as? dev.inmo.tgbotapi.types.location.LiveLocation public inline fun Location.liveLocationOrThrow(): LiveLocation = this as dev.inmo.tgbotapi.types.location.LiveLocation public inline fun Location.ifLiveLocation(block: (LiveLocation) -> T): T? = liveLocationOrNull() ?.let(block) public inline fun TelegramMedia.duratedTelegramMediaOrNull(): DuratedTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.DuratedTelegramMedia public inline fun TelegramMedia.duratedTelegramMediaOrThrow(): DuratedTelegramMedia = this as dev.inmo.tgbotapi.types.media.DuratedTelegramMedia public inline fun TelegramMedia.ifDuratedTelegramMedia(block: (DuratedTelegramMedia) -> T): T? = duratedTelegramMediaOrNull() ?.let(block) public inline fun TelegramMedia.mediaGroupMemberTelegramMediaOrNull(): MediaGroupMemberTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.MediaGroupMemberTelegramMedia public inline fun TelegramMedia.mediaGroupMemberTelegramMediaOrThrow(): MediaGroupMemberTelegramMedia = this as dev.inmo.tgbotapi.types.media.MediaGroupMemberTelegramMedia public inline fun TelegramMedia.ifMediaGroupMemberTelegramMedia(block: (MediaGroupMemberTelegramMedia) -> T): T? = mediaGroupMemberTelegramMediaOrNull() ?.let(block) public inline fun TelegramMedia.audioMediaGroupMemberTelegramMediaOrNull(): AudioMediaGroupMemberTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.AudioMediaGroupMemberTelegramMedia public inline fun TelegramMedia.audioMediaGroupMemberTelegramMediaOrThrow(): AudioMediaGroupMemberTelegramMedia = this as dev.inmo.tgbotapi.types.media.AudioMediaGroupMemberTelegramMedia public inline fun TelegramMedia.ifAudioMediaGroupMemberTelegramMedia(block: (AudioMediaGroupMemberTelegramMedia) -> T): T? = audioMediaGroupMemberTelegramMediaOrNull() ?.let(block) public inline fun TelegramMedia.documentMediaGroupMemberTelegramMediaOrNull(): DocumentMediaGroupMemberTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.DocumentMediaGroupMemberTelegramMedia public inline fun TelegramMedia.documentMediaGroupMemberTelegramMediaOrThrow(): DocumentMediaGroupMemberTelegramMedia = this as dev.inmo.tgbotapi.types.media.DocumentMediaGroupMemberTelegramMedia public inline fun TelegramMedia.ifDocumentMediaGroupMemberTelegramMedia(block: (DocumentMediaGroupMemberTelegramMedia) -> T): T? = documentMediaGroupMemberTelegramMediaOrNull() ?.let(block) public inline fun TelegramMedia.visualMediaGroupMemberTelegramMediaOrNull(): VisualMediaGroupMemberTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.VisualMediaGroupMemberTelegramMedia public inline fun TelegramMedia.visualMediaGroupMemberTelegramMediaOrThrow(): VisualMediaGroupMemberTelegramMedia = this as dev.inmo.tgbotapi.types.media.VisualMediaGroupMemberTelegramMedia public inline fun TelegramMedia.ifVisualMediaGroupMemberTelegramMedia(block: (VisualMediaGroupMemberTelegramMedia) -> T): T? = visualMediaGroupMemberTelegramMediaOrNull() ?.let(block) public inline fun TelegramMedia.sizedTelegramMediaOrNull(): SizedTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.SizedTelegramMedia public inline fun TelegramMedia.sizedTelegramMediaOrThrow(): SizedTelegramMedia = this as dev.inmo.tgbotapi.types.media.SizedTelegramMedia public inline fun TelegramMedia.ifSizedTelegramMedia(block: (SizedTelegramMedia) -> T): T? = sizedTelegramMediaOrNull() ?.let(block) public inline fun TelegramMedia.spoilerableTelegramMediaOrNull(): SpoilerableTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.SpoilerableTelegramMedia public inline fun TelegramMedia.spoilerableTelegramMediaOrThrow(): SpoilerableTelegramMedia = this as dev.inmo.tgbotapi.types.media.SpoilerableTelegramMedia public inline fun TelegramMedia.ifSpoilerableTelegramMedia(block: (SpoilerableTelegramMedia) -> T): T? = spoilerableTelegramMediaOrNull() ?.let(block) public inline fun TelegramMedia.telegramMediaAnimationOrNull(): TelegramMediaAnimation? = this as? dev.inmo.tgbotapi.types.media.TelegramMediaAnimation public inline fun TelegramMedia.telegramMediaAnimationOrThrow(): TelegramMediaAnimation = this as dev.inmo.tgbotapi.types.media.TelegramMediaAnimation public inline fun TelegramMedia.ifTelegramMediaAnimation(block: (TelegramMediaAnimation) -> T): T? = telegramMediaAnimationOrNull() ?.let(block) public inline fun TelegramMedia.telegramMediaAudioOrNull(): TelegramMediaAudio? = this as? dev.inmo.tgbotapi.types.media.TelegramMediaAudio public inline fun TelegramMedia.telegramMediaAudioOrThrow(): TelegramMediaAudio = this as dev.inmo.tgbotapi.types.media.TelegramMediaAudio public inline fun TelegramMedia.ifTelegramMediaAudio(block: (TelegramMediaAudio) -> T): T? = telegramMediaAudioOrNull() ?.let(block) public inline fun TelegramMedia.telegramMediaDocumentOrNull(): TelegramMediaDocument? = this as? dev.inmo.tgbotapi.types.media.TelegramMediaDocument public inline fun TelegramMedia.telegramMediaDocumentOrThrow(): TelegramMediaDocument = this as dev.inmo.tgbotapi.types.media.TelegramMediaDocument public inline fun TelegramMedia.ifTelegramMediaDocument(block: (TelegramMediaDocument) -> T): T? = telegramMediaDocumentOrNull() ?.let(block) public inline fun TelegramMedia.telegramMediaPhotoOrNull(): TelegramMediaPhoto? = this as? dev.inmo.tgbotapi.types.media.TelegramMediaPhoto public inline fun TelegramMedia.telegramMediaPhotoOrThrow(): TelegramMediaPhoto = this as dev.inmo.tgbotapi.types.media.TelegramMediaPhoto public inline fun TelegramMedia.ifTelegramMediaPhoto(block: (TelegramMediaPhoto) -> T): T? = telegramMediaPhotoOrNull() ?.let(block) public inline fun TelegramMedia.telegramMediaVideoOrNull(): TelegramMediaVideo? = this as? dev.inmo.tgbotapi.types.media.TelegramMediaVideo public inline fun TelegramMedia.telegramMediaVideoOrThrow(): TelegramMediaVideo = this as dev.inmo.tgbotapi.types.media.TelegramMediaVideo public inline fun TelegramMedia.ifTelegramMediaVideo(block: (TelegramMediaVideo) -> T): T? = telegramMediaVideoOrNull() ?.let(block) public inline fun TelegramMedia.thumbedTelegramMediaOrNull(): ThumbedTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.ThumbedTelegramMedia public inline fun TelegramMedia.thumbedTelegramMediaOrThrow(): ThumbedTelegramMedia = this as dev.inmo.tgbotapi.types.media.ThumbedTelegramMedia public inline fun TelegramMedia.ifThumbedTelegramMedia(block: (ThumbedTelegramMedia) -> T): T? = thumbedTelegramMediaOrNull() ?.let(block) public inline fun TelegramMedia.titledTelegramMediaOrNull(): TitledTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.TitledTelegramMedia public inline fun TelegramMedia.titledTelegramMediaOrThrow(): TitledTelegramMedia = this as dev.inmo.tgbotapi.types.media.TitledTelegramMedia public inline fun TelegramMedia.ifTitledTelegramMedia(block: (TitledTelegramMedia) -> T): T? = titledTelegramMediaOrNull() ?.let(block) public inline fun ChatEvent.chatBackgroundOrNull(): ChatBackground? = this as? dev.inmo.tgbotapi.types.chat.ChatBackground public inline fun ChatEvent.chatBackgroundOrThrow(): ChatBackground = this as dev.inmo.tgbotapi.types.chat.ChatBackground public inline fun ChatEvent.ifChatBackground(block: (ChatBackground) -> T): T? = chatBackgroundOrNull() ?.let(block) public inline fun ChatEvent.giveawayCreatedOrNull(): GiveawayCreated? = this as? dev.inmo.tgbotapi.types.giveaway.GiveawayCreated public inline fun ChatEvent.giveawayCreatedOrThrow(): GiveawayCreated = this as dev.inmo.tgbotapi.types.giveaway.GiveawayCreated public inline fun ChatEvent.ifGiveawayCreated(block: (GiveawayCreated) -> T): T? = giveawayCreatedOrNull() ?.let(block) public inline fun ChatEvent.giveawayPrivateResultsOrNull(): GiveawayPrivateResults? = this as? dev.inmo.tgbotapi.types.giveaway.GiveawayPrivateResults public inline fun ChatEvent.giveawayPrivateResultsOrThrow(): GiveawayPrivateResults = this as dev.inmo.tgbotapi.types.giveaway.GiveawayPrivateResults public inline fun ChatEvent.ifGiveawayPrivateResults(block: (GiveawayPrivateResults) -> T): T? = giveawayPrivateResultsOrNull() ?.let(block) public inline fun ChatEvent.channelChatCreatedOrNull(): ChannelChatCreated? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.ChannelChatCreated public inline fun ChatEvent.channelChatCreatedOrThrow(): ChannelChatCreated = this as dev.inmo.tgbotapi.types.message.ChatEvents.ChannelChatCreated public inline fun ChatEvent.ifChannelChatCreated(block: (ChannelChatCreated) -> T): T? = channelChatCreatedOrNull() ?.let(block) public inline fun ChatEvent.chatBoostAddedOrNull(): ChatBoostAdded? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.ChatBoostAdded public inline fun ChatEvent.chatBoostAddedOrThrow(): ChatBoostAdded = this as dev.inmo.tgbotapi.types.message.ChatEvents.ChatBoostAdded public inline fun ChatEvent.ifChatBoostAdded(block: (ChatBoostAdded) -> T): T? = chatBoostAddedOrNull() ?.let(block) public inline fun ChatEvent.deleteChatPhotoOrNull(): DeleteChatPhoto? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.DeleteChatPhoto public inline fun ChatEvent.deleteChatPhotoOrThrow(): DeleteChatPhoto = this as dev.inmo.tgbotapi.types.message.ChatEvents.DeleteChatPhoto public inline fun ChatEvent.ifDeleteChatPhoto(block: (DeleteChatPhoto) -> T): T? = deleteChatPhotoOrNull() ?.let(block) public inline fun ChatEvent.groupChatCreatedOrNull(): GroupChatCreated? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.GroupChatCreated public inline fun ChatEvent.groupChatCreatedOrThrow(): GroupChatCreated = this as dev.inmo.tgbotapi.types.message.ChatEvents.GroupChatCreated public inline fun ChatEvent.ifGroupChatCreated(block: (GroupChatCreated) -> T): T? = groupChatCreatedOrNull() ?.let(block) public inline fun ChatEvent.leftChatMemberEventOrNull(): LeftChatMemberEvent? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.LeftChatMemberEvent public inline fun ChatEvent.leftChatMemberEventOrThrow(): LeftChatMemberEvent = this as dev.inmo.tgbotapi.types.message.ChatEvents.LeftChatMemberEvent public inline fun ChatEvent.ifLeftChatMemberEvent(block: (LeftChatMemberEvent) -> T): T? = leftChatMemberEventOrNull() ?.let(block) public inline fun ChatEvent.messageAutoDeleteTimerChangedOrNull(): MessageAutoDeleteTimerChanged? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.MessageAutoDeleteTimerChanged public inline fun ChatEvent.messageAutoDeleteTimerChangedOrThrow(): MessageAutoDeleteTimerChanged = this as dev.inmo.tgbotapi.types.message.ChatEvents.MessageAutoDeleteTimerChanged public inline fun ChatEvent.ifMessageAutoDeleteTimerChanged(block: (MessageAutoDeleteTimerChanged) -> T): T? = messageAutoDeleteTimerChangedOrNull() ?.let(block) public inline fun ChatEvent.migratedToSupergroupOrNull(): MigratedToSupergroup? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.MigratedToSupergroup public inline fun ChatEvent.migratedToSupergroupOrThrow(): MigratedToSupergroup = this as dev.inmo.tgbotapi.types.message.ChatEvents.MigratedToSupergroup public inline fun ChatEvent.ifMigratedToSupergroup(block: (MigratedToSupergroup) -> T): T? = migratedToSupergroupOrNull() ?.let(block) public inline fun ChatEvent.newChatMembersOrNull(): NewChatMembers? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.NewChatMembers public inline fun ChatEvent.newChatMembersOrThrow(): NewChatMembers = this as dev.inmo.tgbotapi.types.message.ChatEvents.NewChatMembers public inline fun ChatEvent.ifNewChatMembers(block: (NewChatMembers) -> T): T? = newChatMembersOrNull() ?.let(block) public inline fun ChatEvent.newChatPhotoOrNull(): NewChatPhoto? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.NewChatPhoto public inline fun ChatEvent.newChatPhotoOrThrow(): NewChatPhoto = this as dev.inmo.tgbotapi.types.message.ChatEvents.NewChatPhoto public inline fun ChatEvent.ifNewChatPhoto(block: (NewChatPhoto) -> T): T? = newChatPhotoOrNull() ?.let(block) public inline fun ChatEvent.newChatTitleOrNull(): NewChatTitle? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.NewChatTitle public inline fun ChatEvent.newChatTitleOrThrow(): NewChatTitle = this as dev.inmo.tgbotapi.types.message.ChatEvents.NewChatTitle public inline fun ChatEvent.ifNewChatTitle(block: (NewChatTitle) -> T): T? = newChatTitleOrNull() ?.let(block) public inline fun ChatEvent.pinnedMessageOrNull(): PinnedMessage? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.PinnedMessage public inline fun ChatEvent.pinnedMessageOrThrow(): PinnedMessage = this as dev.inmo.tgbotapi.types.message.ChatEvents.PinnedMessage public inline fun ChatEvent.ifPinnedMessage(block: (PinnedMessage) -> T): T? = pinnedMessageOrNull() ?.let(block) public inline fun ChatEvent.proximityAlertTriggeredOrNull(): ProximityAlertTriggered? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.ProximityAlertTriggered public inline fun ChatEvent.proximityAlertTriggeredOrThrow(): ProximityAlertTriggered = this as dev.inmo.tgbotapi.types.message.ChatEvents.ProximityAlertTriggered public inline fun ChatEvent.ifProximityAlertTriggered(block: (ProximityAlertTriggered) -> T): T? = proximityAlertTriggeredOrNull() ?.let(block) public inline fun ChatEvent.supergroupChatCreatedOrNull(): SupergroupChatCreated? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.SupergroupChatCreated public inline fun ChatEvent.supergroupChatCreatedOrThrow(): SupergroupChatCreated = this as dev.inmo.tgbotapi.types.message.ChatEvents.SupergroupChatCreated public inline fun ChatEvent.ifSupergroupChatCreated(block: (SupergroupChatCreated) -> T): T? = supergroupChatCreatedOrNull() ?.let(block) public inline fun ChatEvent.userLoggedInOrNull(): UserLoggedIn? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.UserLoggedIn public inline fun ChatEvent.userLoggedInOrThrow(): UserLoggedIn = this as dev.inmo.tgbotapi.types.message.ChatEvents.UserLoggedIn public inline fun ChatEvent.ifUserLoggedIn(block: (UserLoggedIn) -> T): T? = userLoggedInOrNull() ?.let(block) public inline fun ChatEvent.webAppDataOrNull(): WebAppData? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.WebAppData public inline fun ChatEvent.webAppDataOrThrow(): WebAppData = this as dev.inmo.tgbotapi.types.message.ChatEvents.WebAppData public inline fun ChatEvent.ifWebAppData(block: (WebAppData) -> T): T? = webAppDataOrNull() ?.let(block) public inline fun ChatEvent.channelEventOrNull(): ChannelEvent? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelEvent public inline fun ChatEvent.channelEventOrThrow(): ChannelEvent = this as dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelEvent public inline fun ChatEvent.ifChannelEvent(block: (ChannelEvent) -> T): T? = channelEventOrNull() ?.let(block) public inline fun ChatEvent.commonEventOrNull(): CommonEvent? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent public inline fun ChatEvent.commonEventOrThrow(): CommonEvent = this as dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent public inline fun ChatEvent.ifCommonEvent(block: (CommonEvent) -> T): T? = commonEventOrNull() ?.let(block) public inline fun ChatEvent.forumEventOrNull(): ForumEvent? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ForumEvent public inline fun ChatEvent.forumEventOrThrow(): ForumEvent = this as dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ForumEvent public inline fun ChatEvent.ifForumEvent(block: (ForumEvent) -> T): T? = forumEventOrNull() ?.let(block) public inline fun ChatEvent.groupEventOrNull(): GroupEvent? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.GroupEvent public inline fun ChatEvent.groupEventOrThrow(): GroupEvent = this as dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.GroupEvent public inline fun ChatEvent.ifGroupEvent(block: (GroupEvent) -> T): T? = groupEventOrNull() ?.let(block) public inline fun ChatEvent.privateEventOrNull(): PrivateEvent? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PrivateEvent public inline fun ChatEvent.privateEventOrThrow(): PrivateEvent = this as dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PrivateEvent public inline fun ChatEvent.ifPrivateEvent(block: (PrivateEvent) -> T): T? = privateEventOrNull() ?.let(block) public inline fun ChatEvent.publicChatEventOrNull(): PublicChatEvent? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent public inline fun ChatEvent.publicChatEventOrThrow(): PublicChatEvent = this as dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.PublicChatEvent public inline fun ChatEvent.ifPublicChatEvent(block: (PublicChatEvent) -> T): T? = publicChatEventOrNull() ?.let(block) public inline fun ChatEvent.supergroupEventOrNull(): SupergroupEvent? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.SupergroupEvent public inline fun ChatEvent.supergroupEventOrThrow(): SupergroupEvent = this as dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.SupergroupEvent public inline fun ChatEvent.ifSupergroupEvent(block: (SupergroupEvent) -> T): T? = supergroupEventOrNull() ?.let(block) public inline fun ChatEvent.videoChatEventOrNull(): VideoChatEvent? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.VideoChatEvent public inline fun ChatEvent.videoChatEventOrThrow(): VideoChatEvent = this as dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.VideoChatEvent public inline fun ChatEvent.ifVideoChatEvent(block: (VideoChatEvent) -> T): T? = videoChatEventOrNull() ?.let(block) public inline fun ChatEvent.forumTopicClosedOrNull(): ForumTopicClosed? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicClosed public inline fun ChatEvent.forumTopicClosedOrThrow(): ForumTopicClosed = this as dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicClosed public inline fun ChatEvent.ifForumTopicClosed(block: (ForumTopicClosed) -> T): T? = forumTopicClosedOrNull() ?.let(block) public inline fun ChatEvent.forumTopicCreatedOrNull(): ForumTopicCreated? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicCreated public inline fun ChatEvent.forumTopicCreatedOrThrow(): ForumTopicCreated = this as dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicCreated public inline fun ChatEvent.ifForumTopicCreated(block: (ForumTopicCreated) -> T): T? = forumTopicCreatedOrNull() ?.let(block) public inline fun ChatEvent.forumTopicEditedOrNull(): ForumTopicEdited? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicEdited public inline fun ChatEvent.forumTopicEditedOrThrow(): ForumTopicEdited = this as dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicEdited public inline fun ChatEvent.ifForumTopicEdited(block: (ForumTopicEdited) -> T): T? = forumTopicEditedOrNull() ?.let(block) public inline fun ChatEvent.forumTopicReopenedOrNull(): ForumTopicReopened? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicReopened public inline fun ChatEvent.forumTopicReopenedOrThrow(): ForumTopicReopened = this as dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicReopened public inline fun ChatEvent.ifForumTopicReopened(block: (ForumTopicReopened) -> T): T? = forumTopicReopenedOrNull() ?.let(block) public inline fun ChatEvent.generalForumTopicHiddenOrNull(): GeneralForumTopicHidden? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.forum.GeneralForumTopicHidden public inline fun ChatEvent.generalForumTopicHiddenOrThrow(): GeneralForumTopicHidden = this as dev.inmo.tgbotapi.types.message.ChatEvents.forum.GeneralForumTopicHidden public inline fun ChatEvent.ifGeneralForumTopicHidden(block: (GeneralForumTopicHidden) -> T): T? = generalForumTopicHiddenOrNull() ?.let(block) public inline fun ChatEvent.generalForumTopicUnhiddenOrNull(): GeneralForumTopicUnhidden? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.forum.GeneralForumTopicUnhidden public inline fun ChatEvent.generalForumTopicUnhiddenOrThrow(): GeneralForumTopicUnhidden = this as dev.inmo.tgbotapi.types.message.ChatEvents.forum.GeneralForumTopicUnhidden public inline fun ChatEvent.ifGeneralForumTopicUnhidden(block: (GeneralForumTopicUnhidden) -> T): T? = generalForumTopicUnhiddenOrNull() ?.let(block) public inline fun ChatEvent.writeAccessAllowedOrNull(): WriteAccessAllowed? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.forum.WriteAccessAllowed public inline fun ChatEvent.writeAccessAllowedOrThrow(): WriteAccessAllowed = this as dev.inmo.tgbotapi.types.message.ChatEvents.forum.WriteAccessAllowed public inline fun ChatEvent.ifWriteAccessAllowed(block: (WriteAccessAllowed) -> T): T? = writeAccessAllowedOrNull() ?.let(block) public inline fun ChatEvent.videoChatEndedOrNull(): VideoChatEnded? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatEnded public inline fun ChatEvent.videoChatEndedOrThrow(): VideoChatEnded = this as dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatEnded public inline fun ChatEvent.ifVideoChatEnded(block: (VideoChatEnded) -> T): T? = videoChatEndedOrNull() ?.let(block) public inline fun ChatEvent.videoChatParticipantsInvitedOrNull(): VideoChatParticipantsInvited? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatParticipantsInvited public inline fun ChatEvent.videoChatParticipantsInvitedOrThrow(): VideoChatParticipantsInvited = this as dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatParticipantsInvited public inline fun ChatEvent.ifVideoChatParticipantsInvited(block: (VideoChatParticipantsInvited) -> T): T? = videoChatParticipantsInvitedOrNull() ?.let(block) public inline fun ChatEvent.videoChatScheduledOrNull(): VideoChatScheduled? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatScheduled public inline fun ChatEvent.videoChatScheduledOrThrow(): VideoChatScheduled = this as dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatScheduled public inline fun ChatEvent.ifVideoChatScheduled(block: (VideoChatScheduled) -> T): T? = videoChatScheduledOrNull() ?.let(block) public inline fun ChatEvent.videoChatStartedOrNull(): VideoChatStarted? = this as? dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatStarted public inline fun ChatEvent.videoChatStartedOrThrow(): VideoChatStarted = this as dev.inmo.tgbotapi.types.message.ChatEvents.voice.VideoChatStarted public inline fun ChatEvent.ifVideoChatStarted(block: (VideoChatStarted) -> T): T? = videoChatStartedOrNull() ?.let(block) public inline fun ChatEvent.successfulPaymentEventOrNull(): SuccessfulPaymentEvent? = this as? dev.inmo.tgbotapi.types.message.payments.SuccessfulPaymentEvent public inline fun ChatEvent.successfulPaymentEventOrThrow(): SuccessfulPaymentEvent = this as dev.inmo.tgbotapi.types.message.payments.SuccessfulPaymentEvent public inline fun ChatEvent.ifSuccessfulPaymentEvent(block: (SuccessfulPaymentEvent) -> T): T? = successfulPaymentEventOrNull() ?.let(block) public inline fun ChatEvent.chatSharedOrNull(): ChatShared? = this as? dev.inmo.tgbotapi.types.request.ChatShared public inline fun ChatEvent.chatSharedOrThrow(): ChatShared = this as dev.inmo.tgbotapi.types.request.ChatShared public inline fun ChatEvent.ifChatShared(block: (ChatShared) -> T): T? = chatSharedOrNull() ?.let(block) public inline fun ChatEvent.chatSharedRequestOrNull(): ChatSharedRequest? = this as? dev.inmo.tgbotapi.types.request.ChatSharedRequest public inline fun ChatEvent.chatSharedRequestOrThrow(): ChatSharedRequest = this as dev.inmo.tgbotapi.types.request.ChatSharedRequest public inline fun ChatEvent.ifChatSharedRequest(block: (ChatSharedRequest) -> T): T? = chatSharedRequestOrNull() ?.let(block) public inline fun ChatEvent.usersSharedOrNull(): UsersShared? = this as? dev.inmo.tgbotapi.types.request.UsersShared public inline fun ChatEvent.usersSharedOrThrow(): UsersShared = this as dev.inmo.tgbotapi.types.request.UsersShared public inline fun ChatEvent.ifUsersShared(block: (UsersShared) -> T): T? = usersSharedOrNull() ?.let(block) public inline fun ForwardInfo.byAnonymousOrNull(): ForwardInfo.ByAnonymous? = this as? dev.inmo.tgbotapi.types.message.ForwardInfo.ByAnonymous public inline fun ForwardInfo.byAnonymousOrThrow(): ForwardInfo.ByAnonymous = this as dev.inmo.tgbotapi.types.message.ForwardInfo.ByAnonymous public inline fun ForwardInfo.ifByAnonymous(block: (ForwardInfo.ByAnonymous) -> T): T? = byAnonymousOrNull() ?.let(block) public inline fun ForwardInfo.byUserOrNull(): ForwardInfo.ByUser? = this as? dev.inmo.tgbotapi.types.message.ForwardInfo.ByUser public inline fun ForwardInfo.byUserOrThrow(): ForwardInfo.ByUser = this as dev.inmo.tgbotapi.types.message.ForwardInfo.ByUser public inline fun ForwardInfo.ifByUser(block: (ForwardInfo.ByUser) -> T): T? = byUserOrNull() ?.let(block) public inline fun ForwardInfo.publicChatOrNull(): ForwardInfo.PublicChat? = this as? dev.inmo.tgbotapi.types.message.ForwardInfo.PublicChat public inline fun ForwardInfo.publicChatOrThrow(): ForwardInfo.PublicChat = this as dev.inmo.tgbotapi.types.message.ForwardInfo.PublicChat public inline fun ForwardInfo.ifPublicChat(block: (ForwardInfo.PublicChat) -> T): T? = publicChatOrNull() ?.let(block) public inline fun ForwardInfo.fromChannelOrNull(): ForwardInfo.PublicChat.FromChannel? = this as? dev.inmo.tgbotapi.types.message.ForwardInfo.PublicChat.FromChannel public inline fun ForwardInfo.fromChannelOrThrow(): ForwardInfo.PublicChat.FromChannel = this as dev.inmo.tgbotapi.types.message.ForwardInfo.PublicChat.FromChannel public inline fun ForwardInfo.ifFromChannel(block: (ForwardInfo.PublicChat.FromChannel) -> T): T? = fromChannelOrNull() ?.let(block) public inline fun ForwardInfo.fromSupergroupOrNull(): ForwardInfo.PublicChat.FromSupergroup? = this as? dev.inmo.tgbotapi.types.message.ForwardInfo.PublicChat.FromSupergroup public inline fun ForwardInfo.fromSupergroupOrThrow(): ForwardInfo.PublicChat.FromSupergroup = this as dev.inmo.tgbotapi.types.message.ForwardInfo.PublicChat.FromSupergroup public inline fun ForwardInfo.ifFromSupergroup(block: (ForwardInfo.PublicChat.FromSupergroup) -> T): T? = fromSupergroupOrNull() ?.let(block) public inline fun ForwardInfo.sentByChannelOrNull(): ForwardInfo.PublicChat.SentByChannel? = this as? dev.inmo.tgbotapi.types.message.ForwardInfo.PublicChat.SentByChannel public inline fun ForwardInfo.sentByChannelOrThrow(): ForwardInfo.PublicChat.SentByChannel = this as dev.inmo.tgbotapi.types.message.ForwardInfo.PublicChat.SentByChannel public inline fun ForwardInfo.ifSentByChannel(block: (ForwardInfo.PublicChat.SentByChannel) -> T): T? = sentByChannelOrNull() ?.let(block) public inline fun Message.channelEventMessageOrNull(): ChannelEventMessage? = this as? dev.inmo.tgbotapi.types.message.ChannelEventMessage public inline fun Message.channelEventMessageOrThrow(): ChannelEventMessage = this as dev.inmo.tgbotapi.types.message.ChannelEventMessage public inline fun Message.ifChannelEventMessage(block: (ChannelEventMessage) -> T): T? = channelEventMessageOrNull() ?.let(block) public inline fun Message.commonGroupEventMessageOrNull(): CommonGroupEventMessage? = this as? dev.inmo.tgbotapi.types.message.CommonGroupEventMessage public inline fun Message.commonGroupEventMessageOrThrow(): CommonGroupEventMessage = this as dev.inmo.tgbotapi.types.message.CommonGroupEventMessage public inline fun Message.ifCommonGroupEventMessage(block: (CommonGroupEventMessage) -> T): T? = commonGroupEventMessageOrNull() ?.let(block) public inline fun Message.commonSupergroupEventMessageOrNull(): CommonSupergroupEventMessage? = this as? dev.inmo.tgbotapi.types.message.CommonSupergroupEventMessage public inline fun Message.commonSupergroupEventMessageOrThrow(): CommonSupergroupEventMessage = this as dev.inmo.tgbotapi.types.message.CommonSupergroupEventMessage public inline fun Message.ifCommonSupergroupEventMessage(block: (CommonSupergroupEventMessage) -> T): T? = commonSupergroupEventMessageOrNull() ?.let(block) public inline fun Message.passportMessageOrNull(): PassportMessage? = this as? dev.inmo.tgbotapi.types.message.PassportMessage public inline fun Message.passportMessageOrThrow(): PassportMessage = this as dev.inmo.tgbotapi.types.message.PassportMessage public inline fun Message.ifPassportMessage(block: (PassportMessage) -> T): T? = passportMessageOrNull() ?.let(block) public inline fun Message.privateEventMessageOrNull(): PrivateEventMessage? = this as? dev.inmo.tgbotapi.types.message.PrivateEventMessage public inline fun Message.privateEventMessageOrThrow(): PrivateEventMessage = this as dev.inmo.tgbotapi.types.message.PrivateEventMessage public inline fun Message.ifPrivateEventMessage(block: (PrivateEventMessage) -> T): T? = privateEventMessageOrNull() ?.let(block) public inline fun Message.businessContentMessageOrNull(): BusinessContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage public inline fun Message.businessContentMessageOrThrow(): BusinessContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage public inline fun Message.ifBusinessContentMessage(block: (BusinessContentMessage) -> T): T? = businessContentMessageOrNull() ?.let(block) public inline fun Message.channelContentMessageOrNull(): ChannelContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.ChannelContentMessage public inline fun Message.channelContentMessageOrThrow(): ChannelContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.ChannelContentMessage public inline fun Message.ifChannelContentMessage(block: (ChannelContentMessage) -> T): T? = channelContentMessageOrNull() ?.let(block) public inline fun Message.chatEventMessageOrNull(): ChatEventMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage public inline fun Message.chatEventMessageOrThrow(): ChatEventMessage = this as dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage public inline fun Message.ifChatEventMessage(block: (ChatEventMessage) -> T): T? = chatEventMessageOrNull() ?.let(block) public inline fun Message.commonMessageOrNull(): CommonMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.CommonMessage public inline fun Message.commonMessageOrThrow(): CommonMessage = this as dev.inmo.tgbotapi.types.message.abstracts.CommonMessage public inline fun Message.ifCommonMessage(block: (CommonMessage) -> T): T? = commonMessageOrNull() ?.let(block) public inline fun Message.contentMessageOrNull(): ContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.ContentMessage public inline fun Message.contentMessageOrThrow(): ContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.ContentMessage public inline fun Message.ifContentMessage(block: (ContentMessage) -> T): T? = contentMessageOrNull() ?.let(block) public inline fun Message.fromUserMessageOrNull(): FromUserMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage public inline fun Message.fromUserMessageOrThrow(): FromUserMessage = this as dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage public inline fun Message.ifFromUserMessage(block: (FromUserMessage) -> T): T? = fromUserMessageOrNull() ?.let(block) public inline fun Message.groupEventMessageOrNull(): GroupEventMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.GroupEventMessage public inline fun Message.groupEventMessageOrThrow(): GroupEventMessage = this as dev.inmo.tgbotapi.types.message.abstracts.GroupEventMessage public inline fun Message.ifGroupEventMessage(block: (GroupEventMessage) -> T): T? = groupEventMessageOrNull() ?.let(block) public inline fun Message.groupContentMessageOrNull(): GroupContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.GroupContentMessage public inline fun Message.groupContentMessageOrThrow(): GroupContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.GroupContentMessage public inline fun Message.ifGroupContentMessage(block: (GroupContentMessage) -> T): T? = groupContentMessageOrNull() ?.let(block) public inline fun Message.potentiallyFromUserGroupContentMessageOrNull(): PotentiallyFromUserGroupContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PotentiallyFromUserGroupContentMessage public inline fun Message.potentiallyFromUserGroupContentMessageOrThrow(): PotentiallyFromUserGroupContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PotentiallyFromUserGroupContentMessage public inline fun Message.ifPotentiallyFromUserGroupContentMessage(block: (PotentiallyFromUserGroupContentMessage) -> T): T? = potentiallyFromUserGroupContentMessageOrNull() ?.let(block) public inline fun Message.forumContentMessageOrNull(): ForumContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.ForumContentMessage public inline fun Message.forumContentMessageOrThrow(): ForumContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.ForumContentMessage public inline fun Message.ifForumContentMessage(block: (ForumContentMessage) -> T): T? = forumContentMessageOrNull() ?.let(block) public inline fun Message.fromChannelGroupContentMessageOrNull(): FromChannelGroupContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.FromChannelGroupContentMessage public inline fun Message.fromChannelGroupContentMessageOrThrow(): FromChannelGroupContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.FromChannelGroupContentMessage public inline fun Message.ifFromChannelGroupContentMessage(block: (FromChannelGroupContentMessage) -> T): T? = fromChannelGroupContentMessageOrNull() ?.let(block) public inline fun Message.connectedFromChannelGroupContentMessageOrNull(): ConnectedFromChannelGroupContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.ConnectedFromChannelGroupContentMessage public inline fun Message.connectedFromChannelGroupContentMessageOrThrow(): ConnectedFromChannelGroupContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.ConnectedFromChannelGroupContentMessage public inline fun Message.ifConnectedFromChannelGroupContentMessage(block: (ConnectedFromChannelGroupContentMessage) -> T): T? = connectedFromChannelGroupContentMessageOrNull() ?.let(block) public inline fun Message.unconnectedFromChannelGroupContentMessageOrNull(): UnconnectedFromChannelGroupContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.UnconnectedFromChannelGroupContentMessage public inline fun Message.unconnectedFromChannelGroupContentMessageOrThrow(): UnconnectedFromChannelGroupContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.UnconnectedFromChannelGroupContentMessage public inline fun Message.ifUnconnectedFromChannelGroupContentMessage(block: (UnconnectedFromChannelGroupContentMessage) -> T): T? = unconnectedFromChannelGroupContentMessageOrNull() ?.let(block) public inline fun Message.anonymousGroupContentMessageOrNull(): AnonymousGroupContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.AnonymousGroupContentMessage public inline fun Message.anonymousGroupContentMessageOrThrow(): AnonymousGroupContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.AnonymousGroupContentMessage public inline fun Message.ifAnonymousGroupContentMessage(block: (AnonymousGroupContentMessage) -> T): T? = anonymousGroupContentMessageOrNull() ?.let(block) public inline fun Message.commonGroupContentMessageOrNull(): CommonGroupContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.CommonGroupContentMessage public inline fun Message.commonGroupContentMessageOrThrow(): CommonGroupContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.CommonGroupContentMessage public inline fun Message.ifCommonGroupContentMessage(block: (CommonGroupContentMessage) -> T): T? = commonGroupContentMessageOrNull() ?.let(block) public inline fun Message.fromChannelForumContentMessageOrNull(): FromChannelForumContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.FromChannelForumContentMessage public inline fun Message.fromChannelForumContentMessageOrThrow(): FromChannelForumContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.FromChannelForumContentMessage public inline fun Message.ifFromChannelForumContentMessage(block: (FromChannelForumContentMessage) -> T): T? = fromChannelForumContentMessageOrNull() ?.let(block) public inline fun Message.anonymousForumContentMessageOrNull(): AnonymousForumContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.AnonymousForumContentMessage public inline fun Message.anonymousForumContentMessageOrThrow(): AnonymousForumContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.AnonymousForumContentMessage public inline fun Message.ifAnonymousForumContentMessage(block: (AnonymousForumContentMessage) -> T): T? = anonymousForumContentMessageOrNull() ?.let(block) public inline fun Message.commonForumContentMessageOrNull(): CommonForumContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.CommonForumContentMessage public inline fun Message.commonForumContentMessageOrThrow(): CommonForumContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.CommonForumContentMessage 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.accessibleMessageOrThrow(): AccessibleMessage = this as dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage public inline fun Message.ifAccessibleMessage(block: (AccessibleMessage) -> T): T? = accessibleMessageOrNull() ?.let(block) public inline fun Message.inaccessibleMessageOrNull(): InaccessibleMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.InaccessibleMessage public inline fun Message.inaccessibleMessageOrThrow(): InaccessibleMessage = this as dev.inmo.tgbotapi.types.message.abstracts.InaccessibleMessage public inline fun Message.ifInaccessibleMessage(block: (InaccessibleMessage) -> T): T? = inaccessibleMessageOrNull() ?.let(block) public inline fun Message.unknownMessageTypeOrNull(): UnknownMessageType? = this as? dev.inmo.tgbotapi.types.message.abstracts.UnknownMessageType public inline fun Message.unknownMessageTypeOrThrow(): UnknownMessageType = this as dev.inmo.tgbotapi.types.message.abstracts.UnknownMessageType public inline fun Message.ifUnknownMessageType(block: (UnknownMessageType) -> T): T? = unknownMessageTypeOrNull() ?.let(block) public inline fun Message.possiblyEditedMessageOrNull(): PossiblyEditedMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PossiblyEditedMessage public inline fun Message.possiblyEditedMessageOrThrow(): PossiblyEditedMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PossiblyEditedMessage public inline fun Message.ifPossiblyEditedMessage(block: (PossiblyEditedMessage) -> T): T? = possiblyEditedMessageOrNull() ?.let(block) public inline fun Message.possiblyForwardedMessageOrNull(): PossiblyForwardedMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PossiblyForwardedMessage public inline fun Message.possiblyForwardedMessageOrThrow(): PossiblyForwardedMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PossiblyForwardedMessage public inline fun Message.ifPossiblyForwardedMessage(block: (PossiblyForwardedMessage) -> T): T? = possiblyForwardedMessageOrNull() ?.let(block) public inline fun Message.possiblyMediaGroupMessageOrNull(): PossiblyMediaGroupMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PossiblyMediaGroupMessage public inline fun Message.possiblyMediaGroupMessageOrThrow(): PossiblyMediaGroupMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PossiblyMediaGroupMessage public inline fun Message.ifPossiblyMediaGroupMessage(block: (PossiblyMediaGroupMessage) -> T): T? = possiblyMediaGroupMessageOrNull() ?.let(block) public inline fun Message.possiblyOfflineMessageOrNull(): PossiblyOfflineMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PossiblyOfflineMessage public inline fun Message.possiblyOfflineMessageOrThrow(): PossiblyOfflineMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PossiblyOfflineMessage public inline fun Message.ifPossiblyOfflineMessage(block: (PossiblyOfflineMessage) -> T): T? = possiblyOfflineMessageOrNull() ?.let(block) public inline fun Message.possiblyPaymentMessageOrNull(): PossiblyPaymentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PossiblyPaymentMessage public inline fun Message.possiblyPaymentMessageOrThrow(): PossiblyPaymentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PossiblyPaymentMessage public inline fun Message.ifPossiblyPaymentMessage(block: (PossiblyPaymentMessage) -> T): T? = possiblyPaymentMessageOrNull() ?.let(block) public inline fun Message.possiblySentViaBotCommonMessageOrNull(): PossiblySentViaBotCommonMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage public inline fun Message.possiblySentViaBotCommonMessageOrThrow(): PossiblySentViaBotCommonMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage public inline fun Message.ifPossiblySentViaBotCommonMessage(block: (PossiblySentViaBotCommonMessage) -> T): T? = possiblySentViaBotCommonMessageOrNull() ?.let(block) public inline fun Message.possiblyTopicMessageOrNull(): PossiblyTopicMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PossiblyTopicMessage public inline fun Message.possiblyTopicMessageOrThrow(): PossiblyTopicMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PossiblyTopicMessage public inline fun Message.ifPossiblyTopicMessage(block: (PossiblyTopicMessage) -> T): T? = possiblyTopicMessageOrNull() ?.let(block) public inline fun Message.privateContentMessageOrNull(): PrivateContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage public inline fun Message.privateContentMessageOrThrow(): PrivateContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage public inline fun Message.ifPrivateContentMessage(block: (PrivateContentMessage) -> T): T? = privateContentMessageOrNull() ?.let(block) public inline fun Message.publicContentMessageOrNull(): PublicContentMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.PublicContentMessage public inline fun Message.publicContentMessageOrThrow(): PublicContentMessage = this as dev.inmo.tgbotapi.types.message.abstracts.PublicContentMessage public inline fun Message.ifPublicContentMessage(block: (PublicContentMessage) -> T): T? = publicContentMessageOrNull() ?.let(block) public inline fun Message.signedMessageOrNull(): SignedMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.SignedMessage public inline fun Message.signedMessageOrThrow(): SignedMessage = this as dev.inmo.tgbotapi.types.message.abstracts.SignedMessage public inline fun Message.ifSignedMessage(block: (SignedMessage) -> T): T? = signedMessageOrNull() ?.let(block) public inline fun Message.supergroupEventMessageOrNull(): SupergroupEventMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.SupergroupEventMessage public inline fun Message.supergroupEventMessageOrThrow(): SupergroupEventMessage = this as dev.inmo.tgbotapi.types.message.abstracts.SupergroupEventMessage public inline fun Message.ifSupergroupEventMessage(block: (SupergroupEventMessage) -> T): T? = supergroupEventMessageOrNull() ?.let(block) public inline fun ResendableContent.messageContentOrNull(): MessageContent? = this as? dev.inmo.tgbotapi.types.message.content.MessageContent public inline fun ResendableContent.messageContentOrThrow(): MessageContent = this as dev.inmo.tgbotapi.types.message.content.MessageContent public inline fun ResendableContent.ifMessageContent(block: (MessageContent) -> T): T? = messageContentOrNull() ?.let(block) public inline fun ResendableContent.mediaCollectionContentOrNull(): MediaCollectionContent? = this as? dev.inmo.tgbotapi.types.message.content.MediaCollectionContent public inline fun ResendableContent.mediaCollectionContentOrThrow(): MediaCollectionContent = this as dev.inmo.tgbotapi.types.message.content.MediaCollectionContent public inline fun ResendableContent.ifMediaCollectionContent(block: (MediaCollectionContent) -> T): T? = mediaCollectionContentOrNull() ?.let(block) public inline fun ResendableContent.textedContentOrNull(): TextedContent? = this as? dev.inmo.tgbotapi.types.message.content.TextedContent public inline fun ResendableContent.textedContentOrThrow(): TextedContent = this as dev.inmo.tgbotapi.types.message.content.TextedContent public inline fun ResendableContent.ifTextedContent(block: (TextedContent) -> T): T? = textedContentOrNull() ?.let(block) public inline fun ResendableContent.mediaContentOrNull(): MediaContent? = this as? dev.inmo.tgbotapi.types.message.content.MediaContent public inline fun ResendableContent.mediaContentOrThrow(): MediaContent = this as dev.inmo.tgbotapi.types.message.content.MediaContent public inline fun ResendableContent.ifMediaContent(block: (MediaContent) -> T): T? = mediaContentOrNull() ?.let(block) public inline fun ResendableContent.spoilerableMediaContentOrNull(): SpoilerableMediaContent? = this as? dev.inmo.tgbotapi.types.message.content.SpoilerableMediaContent public inline fun ResendableContent.spoilerableMediaContentOrThrow(): SpoilerableMediaContent = this as dev.inmo.tgbotapi.types.message.content.SpoilerableMediaContent public inline fun ResendableContent.ifSpoilerableMediaContent(block: (SpoilerableMediaContent) -> T): T? = spoilerableMediaContentOrNull() ?.let(block) public inline fun ResendableContent.audioMediaGroupPartContentOrNull(): AudioMediaGroupPartContent? = this as? dev.inmo.tgbotapi.types.message.content.AudioMediaGroupPartContent public inline fun ResendableContent.audioMediaGroupPartContentOrThrow(): AudioMediaGroupPartContent = this as dev.inmo.tgbotapi.types.message.content.AudioMediaGroupPartContent public inline fun ResendableContent.ifAudioMediaGroupPartContent(block: (AudioMediaGroupPartContent) -> T): T? = audioMediaGroupPartContentOrNull() ?.let(block) public inline fun ResendableContent.documentMediaGroupPartContentOrNull(): DocumentMediaGroupPartContent? = this as? dev.inmo.tgbotapi.types.message.content.DocumentMediaGroupPartContent public inline fun ResendableContent.documentMediaGroupPartContentOrThrow(): DocumentMediaGroupPartContent = this as dev.inmo.tgbotapi.types.message.content.DocumentMediaGroupPartContent public inline fun ResendableContent.ifDocumentMediaGroupPartContent(block: (DocumentMediaGroupPartContent) -> T): T? = documentMediaGroupPartContentOrNull() ?.let(block) public inline fun ResendableContent.textedMediaContentOrNull(): TextedMediaContent? = this as? dev.inmo.tgbotapi.types.message.content.TextedMediaContent public inline fun ResendableContent.textedMediaContentOrThrow(): TextedMediaContent = this as dev.inmo.tgbotapi.types.message.content.TextedMediaContent public inline fun ResendableContent.ifTextedMediaContent(block: (TextedMediaContent) -> T): T? = textedMediaContentOrNull() ?.let(block) public inline fun ResendableContent.mediaGroupCollectionContentOrNull(): MediaGroupCollectionContent? = this as? dev.inmo.tgbotapi.types.message.content.MediaGroupCollectionContent public inline fun ResendableContent.mediaGroupCollectionContentOrThrow(): MediaGroupCollectionContent = this as dev.inmo.tgbotapi.types.message.content.MediaGroupCollectionContent public inline fun ResendableContent.ifMediaGroupCollectionContent(block: (MediaGroupCollectionContent) -> T): T? = mediaGroupCollectionContentOrNull() ?.let(block) public inline fun ResendableContent.mediaGroupPartContentOrNull(): MediaGroupPartContent? = this as? dev.inmo.tgbotapi.types.message.content.MediaGroupPartContent public inline fun ResendableContent.mediaGroupPartContentOrThrow(): MediaGroupPartContent = this as dev.inmo.tgbotapi.types.message.content.MediaGroupPartContent public inline fun ResendableContent.ifMediaGroupPartContent(block: (MediaGroupPartContent) -> T): T? = mediaGroupPartContentOrNull() ?.let(block) public inline fun ResendableContent.visualMediaGroupPartContentOrNull(): VisualMediaGroupPartContent? = this as? dev.inmo.tgbotapi.types.message.content.VisualMediaGroupPartContent public inline fun ResendableContent.visualMediaGroupPartContentOrThrow(): VisualMediaGroupPartContent = this as dev.inmo.tgbotapi.types.message.content.VisualMediaGroupPartContent public inline fun ResendableContent.ifVisualMediaGroupPartContent(block: (VisualMediaGroupPartContent) -> T): T? = visualMediaGroupPartContentOrNull() ?.let(block) public inline fun ResendableContent.animationContentOrNull(): AnimationContent? = this as? dev.inmo.tgbotapi.types.message.content.AnimationContent public inline fun ResendableContent.animationContentOrThrow(): AnimationContent = this as dev.inmo.tgbotapi.types.message.content.AnimationContent public inline fun ResendableContent.ifAnimationContent(block: (AnimationContent) -> T): T? = animationContentOrNull() ?.let(block) public inline fun ResendableContent.audioContentOrNull(): AudioContent? = this as? dev.inmo.tgbotapi.types.message.content.AudioContent public inline fun ResendableContent.audioContentOrThrow(): AudioContent = this as dev.inmo.tgbotapi.types.message.content.AudioContent public inline fun ResendableContent.ifAudioContent(block: (AudioContent) -> T): T? = audioContentOrNull() ?.let(block) public inline fun ResendableContent.contactContentOrNull(): ContactContent? = this as? dev.inmo.tgbotapi.types.message.content.ContactContent public inline fun ResendableContent.contactContentOrThrow(): ContactContent = this as dev.inmo.tgbotapi.types.message.content.ContactContent public inline fun ResendableContent.ifContactContent(block: (ContactContent) -> T): T? = contactContentOrNull() ?.let(block) public inline fun ResendableContent.diceContentOrNull(): DiceContent? = this as? dev.inmo.tgbotapi.types.message.content.DiceContent public inline fun ResendableContent.diceContentOrThrow(): DiceContent = this as dev.inmo.tgbotapi.types.message.content.DiceContent public inline fun ResendableContent.ifDiceContent(block: (DiceContent) -> T): T? = diceContentOrNull() ?.let(block) public inline fun ResendableContent.documentContentOrNull(): DocumentContent? = this as? dev.inmo.tgbotapi.types.message.content.DocumentContent public inline fun ResendableContent.documentContentOrThrow(): DocumentContent = this as dev.inmo.tgbotapi.types.message.content.DocumentContent public inline fun ResendableContent.ifDocumentContent(block: (DocumentContent) -> T): T? = documentContentOrNull() ?.let(block) public inline fun ResendableContent.gameContentOrNull(): GameContent? = this as? dev.inmo.tgbotapi.types.message.content.GameContent public inline fun ResendableContent.gameContentOrThrow(): GameContent = this as dev.inmo.tgbotapi.types.message.content.GameContent public inline fun ResendableContent.ifGameContent(block: (GameContent) -> T): T? = gameContentOrNull() ?.let(block) public inline fun ResendableContent.giveawayContentOrNull(): GiveawayContent? = this as? dev.inmo.tgbotapi.types.message.content.GiveawayContent public inline fun ResendableContent.giveawayContentOrThrow(): GiveawayContent = this as dev.inmo.tgbotapi.types.message.content.GiveawayContent public inline fun ResendableContent.ifGiveawayContent(block: (GiveawayContent) -> T): T? = giveawayContentOrNull() ?.let(block) public inline fun ResendableContent.giveawayPublicResultsContentOrNull(): GiveawayPublicResultsContent? = this as? dev.inmo.tgbotapi.types.message.content.GiveawayPublicResultsContent public inline fun ResendableContent.giveawayPublicResultsContentOrThrow(): GiveawayPublicResultsContent = this as dev.inmo.tgbotapi.types.message.content.GiveawayPublicResultsContent public inline fun ResendableContent.ifGiveawayPublicResultsContent(block: (GiveawayPublicResultsContent) -> T): T? = giveawayPublicResultsContentOrNull() ?.let(block) public inline fun ResendableContent.invoiceContentOrNull(): InvoiceContent? = this as? dev.inmo.tgbotapi.types.message.content.InvoiceContent public inline fun ResendableContent.invoiceContentOrThrow(): InvoiceContent = this as dev.inmo.tgbotapi.types.message.content.InvoiceContent public inline fun ResendableContent.ifInvoiceContent(block: (InvoiceContent) -> T): T? = invoiceContentOrNull() ?.let(block) public inline fun ResendableContent.locationContentOrNull(): LocationContent? = this as? dev.inmo.tgbotapi.types.message.content.LocationContent public inline fun ResendableContent.locationContentOrThrow(): LocationContent = this as dev.inmo.tgbotapi.types.message.content.LocationContent public inline fun ResendableContent.ifLocationContent(block: (LocationContent) -> T): T? = locationContentOrNull() ?.let(block) public inline fun ResendableContent.liveLocationContentOrNull(): LiveLocationContent? = this as? dev.inmo.tgbotapi.types.message.content.LiveLocationContent public inline fun ResendableContent.liveLocationContentOrThrow(): LiveLocationContent = this as dev.inmo.tgbotapi.types.message.content.LiveLocationContent public inline fun ResendableContent.ifLiveLocationContent(block: (LiveLocationContent) -> T): T? = liveLocationContentOrNull() ?.let(block) public inline fun ResendableContent.staticLocationContentOrNull(): StaticLocationContent? = this as? dev.inmo.tgbotapi.types.message.content.StaticLocationContent public inline fun ResendableContent.staticLocationContentOrThrow(): StaticLocationContent = this as dev.inmo.tgbotapi.types.message.content.StaticLocationContent public inline fun ResendableContent.ifStaticLocationContent(block: (StaticLocationContent) -> T): T? = staticLocationContentOrNull() ?.let(block) public inline fun ResendableContent.mediaGroupContentOrNull(): MediaGroupContent? = this as? dev.inmo.tgbotapi.types.message.content.MediaGroupContent public inline fun ResendableContent.mediaGroupContentOrThrow(): MediaGroupContent = this as dev.inmo.tgbotapi.types.message.content.MediaGroupContent public inline fun ResendableContent.ifMediaGroupContent(block: (MediaGroupContent) -> T): T? = mediaGroupContentOrNull() ?.let(block) public inline fun ResendableContent.photoContentOrNull(): PhotoContent? = this as? dev.inmo.tgbotapi.types.message.content.PhotoContent public inline fun ResendableContent.photoContentOrThrow(): PhotoContent = this as dev.inmo.tgbotapi.types.message.content.PhotoContent public inline fun ResendableContent.ifPhotoContent(block: (PhotoContent) -> T): T? = photoContentOrNull() ?.let(block) public inline fun ResendableContent.pollContentOrNull(): PollContent? = this as? dev.inmo.tgbotapi.types.message.content.PollContent public inline fun ResendableContent.pollContentOrThrow(): PollContent = this as dev.inmo.tgbotapi.types.message.content.PollContent public inline fun ResendableContent.ifPollContent(block: (PollContent) -> T): T? = pollContentOrNull() ?.let(block) public inline fun ResendableContent.stickerContentOrNull(): StickerContent? = this as? dev.inmo.tgbotapi.types.message.content.StickerContent public inline fun ResendableContent.stickerContentOrThrow(): StickerContent = this as dev.inmo.tgbotapi.types.message.content.StickerContent public inline fun ResendableContent.ifStickerContent(block: (StickerContent) -> T): T? = stickerContentOrNull() ?.let(block) public inline fun ResendableContent.storyContentOrNull(): StoryContent? = this as? dev.inmo.tgbotapi.types.message.content.StoryContent public inline fun ResendableContent.storyContentOrThrow(): StoryContent = this as dev.inmo.tgbotapi.types.message.content.StoryContent public inline fun ResendableContent.ifStoryContent(block: (StoryContent) -> T): T? = storyContentOrNull() ?.let(block) public inline fun ResendableContent.textContentOrNull(): TextContent? = this as? dev.inmo.tgbotapi.types.message.content.TextContent public inline fun ResendableContent.textContentOrThrow(): TextContent = this as dev.inmo.tgbotapi.types.message.content.TextContent public inline fun ResendableContent.ifTextContent(block: (TextContent) -> T): T? = textContentOrNull() ?.let(block) public inline fun ResendableContent.venueContentOrNull(): VenueContent? = this as? dev.inmo.tgbotapi.types.message.content.VenueContent public inline fun ResendableContent.venueContentOrThrow(): VenueContent = this as dev.inmo.tgbotapi.types.message.content.VenueContent public inline fun ResendableContent.ifVenueContent(block: (VenueContent) -> T): T? = venueContentOrNull() ?.let(block) public inline fun ResendableContent.videoContentOrNull(): VideoContent? = this as? dev.inmo.tgbotapi.types.message.content.VideoContent public inline fun ResendableContent.videoContentOrThrow(): VideoContent = this as dev.inmo.tgbotapi.types.message.content.VideoContent public inline fun ResendableContent.ifVideoContent(block: (VideoContent) -> T): T? = videoContentOrNull() ?.let(block) public inline fun ResendableContent.videoNoteContentOrNull(): VideoNoteContent? = this as? dev.inmo.tgbotapi.types.message.content.VideoNoteContent public inline fun ResendableContent.videoNoteContentOrThrow(): VideoNoteContent = this as dev.inmo.tgbotapi.types.message.content.VideoNoteContent public inline fun ResendableContent.ifVideoNoteContent(block: (VideoNoteContent) -> T): T? = videoNoteContentOrNull() ?.let(block) public inline fun ResendableContent.voiceContentOrNull(): VoiceContent? = this as? dev.inmo.tgbotapi.types.message.content.VoiceContent public inline fun ResendableContent.voiceContentOrThrow(): VoiceContent = this as dev.inmo.tgbotapi.types.message.content.VoiceContent public inline fun ResendableContent.ifVoiceContent(block: (VoiceContent) -> T): T? = voiceContentOrNull() ?.let(block) public inline fun TextSource.blockquoteTextSourceOrNull(): BlockquoteTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.BlockquoteTextSource public inline fun TextSource.blockquoteTextSourceOrThrow(): BlockquoteTextSource = this as dev.inmo.tgbotapi.types.message.textsources.BlockquoteTextSource public inline fun TextSource.ifBlockquoteTextSource(block: (BlockquoteTextSource) -> T): T? = blockquoteTextSourceOrNull() ?.let(block) public inline fun TextSource.boldTextSourceOrNull(): BoldTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.BoldTextSource public inline fun TextSource.boldTextSourceOrThrow(): BoldTextSource = this as dev.inmo.tgbotapi.types.message.textsources.BoldTextSource public inline fun TextSource.ifBoldTextSource(block: (BoldTextSource) -> T): T? = boldTextSourceOrNull() ?.let(block) public inline fun TextSource.botCommandTextSourceOrNull(): BotCommandTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.BotCommandTextSource public inline fun TextSource.botCommandTextSourceOrThrow(): BotCommandTextSource = this as dev.inmo.tgbotapi.types.message.textsources.BotCommandTextSource public inline fun TextSource.ifBotCommandTextSource(block: (BotCommandTextSource) -> T): T? = botCommandTextSourceOrNull() ?.let(block) public inline fun TextSource.cashTagTextSourceOrNull(): CashTagTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.CashTagTextSource public inline fun TextSource.cashTagTextSourceOrThrow(): CashTagTextSource = this as dev.inmo.tgbotapi.types.message.textsources.CashTagTextSource public inline fun TextSource.ifCashTagTextSource(block: (CashTagTextSource) -> T): T? = cashTagTextSourceOrNull() ?.let(block) public inline fun TextSource.codeTextSourceOrNull(): CodeTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.CodeTextSource public inline fun TextSource.codeTextSourceOrThrow(): CodeTextSource = this as dev.inmo.tgbotapi.types.message.textsources.CodeTextSource public inline fun TextSource.ifCodeTextSource(block: (CodeTextSource) -> T): T? = codeTextSourceOrNull() ?.let(block) public inline fun TextSource.customEmojiTextSourceOrNull(): CustomEmojiTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.CustomEmojiTextSource public inline fun TextSource.customEmojiTextSourceOrThrow(): CustomEmojiTextSource = this as dev.inmo.tgbotapi.types.message.textsources.CustomEmojiTextSource public inline fun TextSource.ifCustomEmojiTextSource(block: (CustomEmojiTextSource) -> T): T? = customEmojiTextSourceOrNull() ?.let(block) public inline fun TextSource.eMailTextSourceOrNull(): EMailTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.EMailTextSource public inline fun TextSource.eMailTextSourceOrThrow(): EMailTextSource = this as dev.inmo.tgbotapi.types.message.textsources.EMailTextSource public inline fun TextSource.ifEMailTextSource(block: (EMailTextSource) -> T): T? = eMailTextSourceOrNull() ?.let(block) public inline fun TextSource.hashTagTextSourceOrNull(): HashTagTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.HashTagTextSource public inline fun TextSource.hashTagTextSourceOrThrow(): HashTagTextSource = this as dev.inmo.tgbotapi.types.message.textsources.HashTagTextSource public inline fun TextSource.ifHashTagTextSource(block: (HashTagTextSource) -> T): T? = hashTagTextSourceOrNull() ?.let(block) public inline fun TextSource.italicTextSourceOrNull(): ItalicTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.ItalicTextSource public inline fun TextSource.italicTextSourceOrThrow(): ItalicTextSource = this as dev.inmo.tgbotapi.types.message.textsources.ItalicTextSource public inline fun TextSource.ifItalicTextSource(block: (ItalicTextSource) -> T): T? = italicTextSourceOrNull() ?.let(block) public inline fun TextSource.mentionTextSourceOrNull(): MentionTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.MentionTextSource public inline fun TextSource.mentionTextSourceOrThrow(): MentionTextSource = this as dev.inmo.tgbotapi.types.message.textsources.MentionTextSource public inline fun TextSource.ifMentionTextSource(block: (MentionTextSource) -> T): T? = mentionTextSourceOrNull() ?.let(block) public inline fun TextSource.phoneNumberTextSourceOrNull(): PhoneNumberTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.PhoneNumberTextSource public inline fun TextSource.phoneNumberTextSourceOrThrow(): PhoneNumberTextSource = this as dev.inmo.tgbotapi.types.message.textsources.PhoneNumberTextSource public inline fun TextSource.ifPhoneNumberTextSource(block: (PhoneNumberTextSource) -> T): T? = phoneNumberTextSourceOrNull() ?.let(block) public inline fun TextSource.preTextSourceOrNull(): PreTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.PreTextSource public inline fun TextSource.preTextSourceOrThrow(): PreTextSource = this as dev.inmo.tgbotapi.types.message.textsources.PreTextSource public inline fun TextSource.ifPreTextSource(block: (PreTextSource) -> T): T? = preTextSourceOrNull() ?.let(block) public inline fun TextSource.regularTextSourceOrNull(): RegularTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.RegularTextSource public inline fun TextSource.regularTextSourceOrThrow(): RegularTextSource = this as dev.inmo.tgbotapi.types.message.textsources.RegularTextSource public inline fun TextSource.ifRegularTextSource(block: (RegularTextSource) -> T): T? = regularTextSourceOrNull() ?.let(block) public inline fun TextSource.spoilerTextSourceOrNull(): SpoilerTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.SpoilerTextSource public inline fun TextSource.spoilerTextSourceOrThrow(): SpoilerTextSource = this as dev.inmo.tgbotapi.types.message.textsources.SpoilerTextSource public inline fun TextSource.ifSpoilerTextSource(block: (SpoilerTextSource) -> T): T? = spoilerTextSourceOrNull() ?.let(block) public inline fun TextSource.strikethroughTextSourceOrNull(): StrikethroughTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.StrikethroughTextSource public inline fun TextSource.strikethroughTextSourceOrThrow(): StrikethroughTextSource = this as dev.inmo.tgbotapi.types.message.textsources.StrikethroughTextSource public inline fun TextSource.ifStrikethroughTextSource(block: (StrikethroughTextSource) -> T): T? = strikethroughTextSourceOrNull() ?.let(block) public inline fun TextSource.textLinkTextSourceOrNull(): TextLinkTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.TextLinkTextSource public inline fun TextSource.textLinkTextSourceOrThrow(): TextLinkTextSource = this as dev.inmo.tgbotapi.types.message.textsources.TextLinkTextSource public inline fun TextSource.ifTextLinkTextSource(block: (TextLinkTextSource) -> T): T? = textLinkTextSourceOrNull() ?.let(block) public inline fun TextSource.textMentionTextSourceOrNull(): TextMentionTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.TextMentionTextSource public inline fun TextSource.textMentionTextSourceOrThrow(): TextMentionTextSource = this as dev.inmo.tgbotapi.types.message.textsources.TextMentionTextSource public inline fun TextSource.ifTextMentionTextSource(block: (TextMentionTextSource) -> T): T? = textMentionTextSourceOrNull() ?.let(block) public inline fun TextSource.multilevelTextSourceOrNull(): MultilevelTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.MultilevelTextSource public inline fun TextSource.multilevelTextSourceOrThrow(): MultilevelTextSource = this as dev.inmo.tgbotapi.types.message.textsources.MultilevelTextSource public inline fun TextSource.ifMultilevelTextSource(block: (MultilevelTextSource) -> T): T? = multilevelTextSourceOrNull() ?.let(block) public inline fun TextSource.uRLTextSourceOrNull(): URLTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.URLTextSource public inline fun TextSource.uRLTextSourceOrThrow(): URLTextSource = this as dev.inmo.tgbotapi.types.message.textsources.URLTextSource public inline fun TextSource.ifURLTextSource(block: (URLTextSource) -> T): T? = uRLTextSourceOrNull() ?.let(block) public inline fun TextSource.underlineTextSourceOrNull(): UnderlineTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.UnderlineTextSource public inline fun TextSource.underlineTextSourceOrThrow(): UnderlineTextSource = this as dev.inmo.tgbotapi.types.message.textsources.UnderlineTextSource public inline fun TextSource.ifUnderlineTextSource(block: (UnderlineTextSource) -> T): T? = underlineTextSourceOrNull() ?.let(block) public inline fun PassportElementError.unknownPassportElementErrorOrNull(): UnknownPassportElementError? = this as? dev.inmo.tgbotapi.types.passport.UnknownPassportElementError public inline fun PassportElementError.unknownPassportElementErrorOrThrow(): UnknownPassportElementError = this as dev.inmo.tgbotapi.types.passport.UnknownPassportElementError public inline fun PassportElementError.ifUnknownPassportElementError(block: (UnknownPassportElementError) -> T): T? = unknownPassportElementErrorOrNull() ?.let(block) public inline fun PassportElementError.passportSingleElementErrorOrNull(): PassportSingleElementError? = this as? dev.inmo.tgbotapi.types.passport.PassportSingleElementError public inline fun PassportElementError.passportSingleElementErrorOrThrow(): PassportSingleElementError = this as dev.inmo.tgbotapi.types.passport.PassportSingleElementError public inline fun PassportElementError.ifPassportSingleElementError(block: (PassportSingleElementError) -> T): T? = passportSingleElementErrorOrNull() ?.let(block) public inline fun PassportElementError.passportMultipleElementsErrorOrNull(): PassportMultipleElementsError? = this as? dev.inmo.tgbotapi.types.passport.PassportMultipleElementsError public inline fun PassportElementError.passportMultipleElementsErrorOrThrow(): PassportMultipleElementsError = this as dev.inmo.tgbotapi.types.passport.PassportMultipleElementsError public inline fun PassportElementError.ifPassportMultipleElementsError(block: (PassportMultipleElementsError) -> T): T? = passportMultipleElementsErrorOrNull() ?.let(block) public inline fun PassportElementError.passportElementFileErrorOrNull(): PassportElementFileError? = this as? dev.inmo.tgbotapi.types.passport.PassportElementFileError public inline fun PassportElementError.passportElementFileErrorOrThrow(): PassportElementFileError = this as dev.inmo.tgbotapi.types.passport.PassportElementFileError public inline fun PassportElementError.ifPassportElementFileError(block: (PassportElementFileError) -> T): T? = passportElementFileErrorOrNull() ?.let(block) public inline fun PassportElementError.passportElementFilesErrorOrNull(): PassportElementFilesError? = this as? dev.inmo.tgbotapi.types.passport.PassportElementFilesError public inline fun PassportElementError.passportElementFilesErrorOrThrow(): PassportElementFilesError = this as dev.inmo.tgbotapi.types.passport.PassportElementFilesError public inline fun PassportElementError.ifPassportElementFilesError(block: (PassportElementFilesError) -> T): T? = passportElementFilesErrorOrNull() ?.let(block) public inline fun PassportElementError.passportElementErrorDataFieldOrNull(): PassportElementErrorDataField? = this as? dev.inmo.tgbotapi.types.passport.PassportElementErrorDataField public inline fun PassportElementError.passportElementErrorDataFieldOrThrow(): PassportElementErrorDataField = this as dev.inmo.tgbotapi.types.passport.PassportElementErrorDataField public inline fun PassportElementError.ifPassportElementErrorDataField(block: (PassportElementErrorDataField) -> T): T? = passportElementErrorDataFieldOrNull() ?.let(block) public inline fun PassportElementError.passportElementErrorFrontSideOrNull(): PassportElementErrorFrontSide? = this as? dev.inmo.tgbotapi.types.passport.PassportElementErrorFrontSide public inline fun PassportElementError.passportElementErrorFrontSideOrThrow(): PassportElementErrorFrontSide = this as dev.inmo.tgbotapi.types.passport.PassportElementErrorFrontSide public inline fun PassportElementError.ifPassportElementErrorFrontSide(block: (PassportElementErrorFrontSide) -> T): T? = passportElementErrorFrontSideOrNull() ?.let(block) public inline fun PassportElementError.passportElementErrorReverseSideOrNull(): PassportElementErrorReverseSide? = this as? dev.inmo.tgbotapi.types.passport.PassportElementErrorReverseSide public inline fun PassportElementError.passportElementErrorReverseSideOrThrow(): PassportElementErrorReverseSide = this as dev.inmo.tgbotapi.types.passport.PassportElementErrorReverseSide public inline fun PassportElementError.ifPassportElementErrorReverseSide(block: (PassportElementErrorReverseSide) -> T): T? = passportElementErrorReverseSideOrNull() ?.let(block) public inline fun PassportElementError.passportElementErrorSelfieOrNull(): PassportElementErrorSelfie? = this as? dev.inmo.tgbotapi.types.passport.PassportElementErrorSelfie public inline fun PassportElementError.passportElementErrorSelfieOrThrow(): PassportElementErrorSelfie = this as dev.inmo.tgbotapi.types.passport.PassportElementErrorSelfie public inline fun PassportElementError.ifPassportElementErrorSelfie(block: (PassportElementErrorSelfie) -> T): T? = passportElementErrorSelfieOrNull() ?.let(block) public inline fun PassportElementError.passportElementErrorFileOrNull(): PassportElementErrorFile? = this as? dev.inmo.tgbotapi.types.passport.PassportElementErrorFile public inline fun PassportElementError.passportElementErrorFileOrThrow(): PassportElementErrorFile = this as dev.inmo.tgbotapi.types.passport.PassportElementErrorFile public inline fun PassportElementError.ifPassportElementErrorFile(block: (PassportElementErrorFile) -> T): T? = passportElementErrorFileOrNull() ?.let(block) public inline fun PassportElementError.passportElementErrorFilesOrNull(): PassportElementErrorFiles? = this as? dev.inmo.tgbotapi.types.passport.PassportElementErrorFiles public inline fun PassportElementError.passportElementErrorFilesOrThrow(): PassportElementErrorFiles = this as dev.inmo.tgbotapi.types.passport.PassportElementErrorFiles public inline fun PassportElementError.ifPassportElementErrorFiles(block: (PassportElementErrorFiles) -> T): T? = passportElementErrorFilesOrNull() ?.let(block) public inline fun PassportElementError.passportElementErrorTranslationFileOrNull(): PassportElementErrorTranslationFile? = this as? dev.inmo.tgbotapi.types.passport.PassportElementErrorTranslationFile public inline fun PassportElementError.passportElementErrorTranslationFileOrThrow(): PassportElementErrorTranslationFile = this as dev.inmo.tgbotapi.types.passport.PassportElementErrorTranslationFile public inline fun PassportElementError.ifPassportElementErrorTranslationFile(block: (PassportElementErrorTranslationFile) -> T): T? = passportElementErrorTranslationFileOrNull() ?.let(block) public inline fun PassportElementError.passportElementErrorTranslationFilesOrNull(): PassportElementErrorTranslationFiles? = this as? dev.inmo.tgbotapi.types.passport.PassportElementErrorTranslationFiles public inline fun PassportElementError.passportElementErrorTranslationFilesOrThrow(): PassportElementErrorTranslationFiles = this as dev.inmo.tgbotapi.types.passport.PassportElementErrorTranslationFiles public inline fun PassportElementError.ifPassportElementErrorTranslationFiles(block: (PassportElementErrorTranslationFiles) -> T): T? = passportElementErrorTranslationFilesOrNull() ?.let(block) public inline fun PassportElementError.passportElementErrorUnspecifiedOrNull(): PassportElementErrorUnspecified? = this as? dev.inmo.tgbotapi.types.passport.PassportElementErrorUnspecified public inline fun PassportElementError.passportElementErrorUnspecifiedOrThrow(): PassportElementErrorUnspecified = this as dev.inmo.tgbotapi.types.passport.PassportElementErrorUnspecified public inline fun PassportElementError.ifPassportElementErrorUnspecified(block: (PassportElementErrorUnspecified) -> T): T? = passportElementErrorUnspecifiedOrNull() ?.let(block) public inline fun SecureValue.addressSecureValueOrNull(): AddressSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.AddressSecureValue public inline fun SecureValue.addressSecureValueOrThrow(): AddressSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.AddressSecureValue public inline fun SecureValue.ifAddressSecureValue(block: (AddressSecureValue) -> T): T? = addressSecureValueOrNull() ?.let(block) public inline fun SecureValue.identityWithReverseSideSecureValueOrNull(): IdentityWithReverseSideSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.IdentityWithReverseSideSecureValue public inline fun SecureValue.identityWithReverseSideSecureValueOrThrow(): IdentityWithReverseSideSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.IdentityWithReverseSideSecureValue public inline fun SecureValue.ifIdentityWithReverseSideSecureValue(block: (IdentityWithReverseSideSecureValue) -> T): T? = identityWithReverseSideSecureValueOrNull() ?.let(block) public inline fun SecureValue.driverLicenseSecureValueOrNull(): DriverLicenseSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.DriverLicenseSecureValue public inline fun SecureValue.driverLicenseSecureValueOrThrow(): DriverLicenseSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.DriverLicenseSecureValue public inline fun SecureValue.ifDriverLicenseSecureValue(block: (DriverLicenseSecureValue) -> T): T? = driverLicenseSecureValueOrNull() ?.let(block) public inline fun SecureValue.identityCardSecureValueOrNull(): IdentityCardSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.IdentityCardSecureValue public inline fun SecureValue.identityCardSecureValueOrThrow(): IdentityCardSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.IdentityCardSecureValue public inline fun SecureValue.ifIdentityCardSecureValue(block: (IdentityCardSecureValue) -> T): T? = identityCardSecureValueOrNull() ?.let(block) public inline fun SecureValue.otherDocumentsSecureValueOrNull(): OtherDocumentsSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.OtherDocumentsSecureValue public inline fun SecureValue.otherDocumentsSecureValueOrThrow(): OtherDocumentsSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.OtherDocumentsSecureValue public inline fun SecureValue.ifOtherDocumentsSecureValue(block: (OtherDocumentsSecureValue) -> T): T? = otherDocumentsSecureValueOrNull() ?.let(block) public inline fun SecureValue.utilityBillSecureValueOrNull(): UtilityBillSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.UtilityBillSecureValue public inline fun SecureValue.utilityBillSecureValueOrThrow(): UtilityBillSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.UtilityBillSecureValue public inline fun SecureValue.ifUtilityBillSecureValue(block: (UtilityBillSecureValue) -> T): T? = utilityBillSecureValueOrNull() ?.let(block) public inline fun SecureValue.bankStatementSecureValueOrNull(): BankStatementSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.BankStatementSecureValue public inline fun SecureValue.bankStatementSecureValueOrThrow(): BankStatementSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.BankStatementSecureValue public inline fun SecureValue.ifBankStatementSecureValue(block: (BankStatementSecureValue) -> T): T? = bankStatementSecureValueOrNull() ?.let(block) public inline fun SecureValue.rentalAgreementSecureValueOrNull(): RentalAgreementSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.RentalAgreementSecureValue public inline fun SecureValue.rentalAgreementSecureValueOrThrow(): RentalAgreementSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.RentalAgreementSecureValue public inline fun SecureValue.ifRentalAgreementSecureValue(block: (RentalAgreementSecureValue) -> T): T? = rentalAgreementSecureValueOrNull() ?.let(block) public inline fun SecureValue.passportRegistrationSecureValueOrNull(): PassportRegistrationSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.PassportRegistrationSecureValue public inline fun SecureValue.passportRegistrationSecureValueOrThrow(): PassportRegistrationSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.PassportRegistrationSecureValue public inline fun SecureValue.ifPassportRegistrationSecureValue(block: (PassportRegistrationSecureValue) -> T): T? = passportRegistrationSecureValueOrNull() ?.let(block) public inline fun SecureValue.temporalRegistrationSecureValueOrNull(): TemporalRegistrationSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.TemporalRegistrationSecureValue public inline fun SecureValue.temporalRegistrationSecureValueOrThrow(): TemporalRegistrationSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.TemporalRegistrationSecureValue public inline fun SecureValue.ifTemporalRegistrationSecureValue(block: (TemporalRegistrationSecureValue) -> T): T? = temporalRegistrationSecureValueOrNull() ?.let(block) public inline fun SecureValue.passportSecureValueOrNull(): PassportSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.PassportSecureValue public inline fun SecureValue.passportSecureValueOrThrow(): PassportSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.PassportSecureValue public inline fun SecureValue.ifPassportSecureValue(block: (PassportSecureValue) -> T): T? = passportSecureValueOrNull() ?.let(block) public inline fun SecureValue.commonPassportSecureValueOrNull(): CommonPassportSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.CommonPassportSecureValue public inline fun SecureValue.commonPassportSecureValueOrThrow(): CommonPassportSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.CommonPassportSecureValue public inline fun SecureValue.ifCommonPassportSecureValue(block: (CommonPassportSecureValue) -> T): T? = commonPassportSecureValueOrNull() ?.let(block) public inline fun SecureValue.internalPassportSecureValueOrNull(): InternalPassportSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.InternalPassportSecureValue public inline fun SecureValue.internalPassportSecureValueOrThrow(): InternalPassportSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.InternalPassportSecureValue public inline fun SecureValue.ifInternalPassportSecureValue(block: (InternalPassportSecureValue) -> T): T? = internalPassportSecureValueOrNull() ?.let(block) public inline fun SecureValue.personalDetailsSecureValueOrNull(): PersonalDetailsSecureValue? = this as? dev.inmo.tgbotapi.types.passport.decrypted.PersonalDetailsSecureValue public inline fun SecureValue.personalDetailsSecureValueOrThrow(): PersonalDetailsSecureValue = this as dev.inmo.tgbotapi.types.passport.decrypted.PersonalDetailsSecureValue public inline fun SecureValue.ifPersonalDetailsSecureValue(block: (PersonalDetailsSecureValue) -> T): T? = personalDetailsSecureValueOrNull() ?.let(block) public inline fun SecureValue.secureValueIdentityOrNull(): SecureValueIdentity? = this as? dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueIdentity public inline fun SecureValue.secureValueIdentityOrThrow(): SecureValueIdentity = this as dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueIdentity public inline fun SecureValue.ifSecureValueIdentity(block: (SecureValueIdentity) -> T): T? = secureValueIdentityOrNull() ?.let(block) public inline fun SecureValue.secureValueWithDataOrNull(): SecureValueWithData? = this as? dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithData public inline fun SecureValue.secureValueWithDataOrThrow(): SecureValueWithData = this as dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithData public inline fun SecureValue.ifSecureValueWithData(block: (SecureValueWithData) -> T): T? = secureValueWithDataOrNull() ?.let(block) public inline fun SecureValue.secureValueWithFilesOrNull(): SecureValueWithFiles? = this as? dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithFiles public inline fun SecureValue.secureValueWithFilesOrThrow(): SecureValueWithFiles = this as dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithFiles public inline fun SecureValue.ifSecureValueWithFiles(block: (SecureValueWithFiles) -> T): T? = secureValueWithFilesOrNull() ?.let(block) public inline fun SecureValue.secureValueWithReverseSideOrNull(): SecureValueWithReverseSide? = this as? dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithReverseSide public inline fun SecureValue.secureValueWithReverseSideOrThrow(): SecureValueWithReverseSide = this as dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithReverseSide public inline fun SecureValue.ifSecureValueWithReverseSide(block: (SecureValueWithReverseSide) -> T): T? = secureValueWithReverseSideOrNull() ?.let(block) public inline fun SecureValue.secureValueWithTranslationsOrNull(): SecureValueWithTranslations? = this as? dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithTranslations public inline fun SecureValue.secureValueWithTranslationsOrThrow(): SecureValueWithTranslations = this as dev.inmo.tgbotapi.types.passport.decrypted.abstracts.SecureValueWithTranslations public inline fun SecureValue.ifSecureValueWithTranslations(block: (SecureValueWithTranslations) -> T): T? = secureValueWithTranslationsOrNull() ?.let(block) public inline fun EncryptedPassportElement.emailOrNull(): Email? = this as? dev.inmo.tgbotapi.types.passport.encrypted.Email public inline fun EncryptedPassportElement.emailOrThrow(): Email = this as dev.inmo.tgbotapi.types.passport.encrypted.Email public inline fun EncryptedPassportElement.ifEmail(block: (Email) -> T): T? = emailOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedAddressOrNull(): EncryptedAddress? = this as? dev.inmo.tgbotapi.types.passport.encrypted.EncryptedAddress public inline fun EncryptedPassportElement.encryptedAddressOrThrow(): EncryptedAddress = this as dev.inmo.tgbotapi.types.passport.encrypted.EncryptedAddress public inline fun EncryptedPassportElement.ifEncryptedAddress(block: (EncryptedAddress) -> T): T? = encryptedAddressOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPassportElementWithTranslatableFilesCollectionOrNull(): EncryptedPassportElementWithTranslatableFilesCollection? = this as? dev.inmo.tgbotapi.types.passport.encrypted.EncryptedPassportElementWithTranslatableFilesCollection public inline fun EncryptedPassportElement.encryptedPassportElementWithTranslatableFilesCollectionOrThrow(): EncryptedPassportElementWithTranslatableFilesCollection = this as dev.inmo.tgbotapi.types.passport.encrypted.EncryptedPassportElementWithTranslatableFilesCollection public inline fun EncryptedPassportElement.ifEncryptedPassportElementWithTranslatableFilesCollection(block: (EncryptedPassportElementWithTranslatableFilesCollection) -> T): T? = encryptedPassportElementWithTranslatableFilesCollectionOrNull() ?.let(block) public inline fun EncryptedPassportElement.utilityBillOrNull(): UtilityBill? = this as? dev.inmo.tgbotapi.types.passport.encrypted.UtilityBill public inline fun EncryptedPassportElement.utilityBillOrThrow(): UtilityBill = this as dev.inmo.tgbotapi.types.passport.encrypted.UtilityBill public inline fun EncryptedPassportElement.ifUtilityBill(block: (UtilityBill) -> T): T? = utilityBillOrNull() ?.let(block) public inline fun EncryptedPassportElement.bankStatementOrNull(): BankStatement? = this as? dev.inmo.tgbotapi.types.passport.encrypted.BankStatement public inline fun EncryptedPassportElement.bankStatementOrThrow(): BankStatement = this as dev.inmo.tgbotapi.types.passport.encrypted.BankStatement public inline fun EncryptedPassportElement.ifBankStatement(block: (BankStatement) -> T): T? = bankStatementOrNull() ?.let(block) public inline fun EncryptedPassportElement.rentalAgreementOrNull(): RentalAgreement? = this as? dev.inmo.tgbotapi.types.passport.encrypted.RentalAgreement public inline fun EncryptedPassportElement.rentalAgreementOrThrow(): RentalAgreement = this as dev.inmo.tgbotapi.types.passport.encrypted.RentalAgreement public inline fun EncryptedPassportElement.ifRentalAgreement(block: (RentalAgreement) -> T): T? = rentalAgreementOrNull() ?.let(block) public inline fun EncryptedPassportElement.passportRegistrationOrNull(): PassportRegistration? = this as? dev.inmo.tgbotapi.types.passport.encrypted.PassportRegistration public inline fun EncryptedPassportElement.passportRegistrationOrThrow(): PassportRegistration = this as dev.inmo.tgbotapi.types.passport.encrypted.PassportRegistration public inline fun EncryptedPassportElement.ifPassportRegistration(block: (PassportRegistration) -> T): T? = passportRegistrationOrNull() ?.let(block) public inline fun EncryptedPassportElement.temporaryRegistrationOrNull(): TemporaryRegistration? = this as? dev.inmo.tgbotapi.types.passport.encrypted.TemporaryRegistration public inline fun EncryptedPassportElement.temporaryRegistrationOrThrow(): TemporaryRegistration = this as dev.inmo.tgbotapi.types.passport.encrypted.TemporaryRegistration public inline fun EncryptedPassportElement.ifTemporaryRegistration(block: (TemporaryRegistration) -> T): T? = temporaryRegistrationOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPassportElementWithTranslatableIDDocumentOrNull(): EncryptedPassportElementWithTranslatableIDDocument? = this as? dev.inmo.tgbotapi.types.passport.encrypted.EncryptedPassportElementWithTranslatableIDDocument public inline fun EncryptedPassportElement.encryptedPassportElementWithTranslatableIDDocumentOrThrow(): EncryptedPassportElementWithTranslatableIDDocument = this as dev.inmo.tgbotapi.types.passport.encrypted.EncryptedPassportElementWithTranslatableIDDocument public inline fun EncryptedPassportElement.ifEncryptedPassportElementWithTranslatableIDDocument(block: (EncryptedPassportElementWithTranslatableIDDocument) -> T): T? = encryptedPassportElementWithTranslatableIDDocumentOrNull() ?.let(block) public inline fun EncryptedPassportElement.driverLicenseOrNull(): DriverLicense? = this as? dev.inmo.tgbotapi.types.passport.encrypted.DriverLicense public inline fun EncryptedPassportElement.driverLicenseOrThrow(): DriverLicense = this as dev.inmo.tgbotapi.types.passport.encrypted.DriverLicense public inline fun EncryptedPassportElement.ifDriverLicense(block: (DriverLicense) -> T): T? = driverLicenseOrNull() ?.let(block) public inline fun EncryptedPassportElement.identityCardOrNull(): IdentityCard? = this as? dev.inmo.tgbotapi.types.passport.encrypted.IdentityCard public inline fun EncryptedPassportElement.identityCardOrThrow(): IdentityCard = this as dev.inmo.tgbotapi.types.passport.encrypted.IdentityCard public inline fun EncryptedPassportElement.ifIdentityCard(block: (IdentityCard) -> T): T? = identityCardOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPersonalDetailsOrNull(): EncryptedPersonalDetails? = this as? dev.inmo.tgbotapi.types.passport.encrypted.EncryptedPersonalDetails public inline fun EncryptedPassportElement.encryptedPersonalDetailsOrThrow(): EncryptedPersonalDetails = this as dev.inmo.tgbotapi.types.passport.encrypted.EncryptedPersonalDetails public inline fun EncryptedPassportElement.ifEncryptedPersonalDetails(block: (EncryptedPersonalDetails) -> T): T? = encryptedPersonalDetailsOrNull() ?.let(block) public inline fun EncryptedPassportElement.passportOrNull(): Passport? = this as? dev.inmo.tgbotapi.types.passport.encrypted.Passport public inline fun EncryptedPassportElement.passportOrThrow(): Passport = this as dev.inmo.tgbotapi.types.passport.encrypted.Passport public inline fun EncryptedPassportElement.ifPassport(block: (Passport) -> T): T? = passportOrNull() ?.let(block) public inline fun EncryptedPassportElement.commonPassportOrNull(): CommonPassport? = this as? dev.inmo.tgbotapi.types.passport.encrypted.CommonPassport public inline fun EncryptedPassportElement.commonPassportOrThrow(): CommonPassport = this as dev.inmo.tgbotapi.types.passport.encrypted.CommonPassport public inline fun EncryptedPassportElement.ifCommonPassport(block: (CommonPassport) -> T): T? = commonPassportOrNull() ?.let(block) public inline fun EncryptedPassportElement.internalPassportOrNull(): InternalPassport? = this as? dev.inmo.tgbotapi.types.passport.encrypted.InternalPassport public inline fun EncryptedPassportElement.internalPassportOrThrow(): InternalPassport = this as dev.inmo.tgbotapi.types.passport.encrypted.InternalPassport public inline fun EncryptedPassportElement.ifInternalPassport(block: (InternalPassport) -> T): T? = internalPassportOrNull() ?.let(block) public inline fun EncryptedPassportElement.phoneNumberOrNull(): PhoneNumber? = this as? dev.inmo.tgbotapi.types.passport.encrypted.PhoneNumber public inline fun EncryptedPassportElement.phoneNumberOrThrow(): PhoneNumber = this as dev.inmo.tgbotapi.types.passport.encrypted.PhoneNumber public inline fun EncryptedPassportElement.ifPhoneNumber(block: (PhoneNumber) -> T): T? = phoneNumberOrNull() ?.let(block) public inline fun EncryptedPassportElement.unknownEncryptedPassportElementOrNull(): UnknownEncryptedPassportElement? = this as? dev.inmo.tgbotapi.types.passport.encrypted.abstracts.UnknownEncryptedPassportElement public inline fun EncryptedPassportElement.unknownEncryptedPassportElementOrThrow(): UnknownEncryptedPassportElement = this as dev.inmo.tgbotapi.types.passport.encrypted.abstracts.UnknownEncryptedPassportElement public inline fun EncryptedPassportElement.ifUnknownEncryptedPassportElement(block: (UnknownEncryptedPassportElement) -> T): T? = unknownEncryptedPassportElementOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPassportElementTranslatableOrNull(): EncryptedPassportElementTranslatable? = this as? dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementTranslatable public inline fun EncryptedPassportElement.encryptedPassportElementTranslatableOrThrow(): EncryptedPassportElementTranslatable = this as dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementTranslatable public inline fun EncryptedPassportElement.ifEncryptedPassportElementTranslatable(block: (EncryptedPassportElementTranslatable) -> T): T? = encryptedPassportElementTranslatableOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPassportElementWithDataOrNull(): EncryptedPassportElementWithData? = this as? dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithData public inline fun EncryptedPassportElement.encryptedPassportElementWithDataOrThrow(): EncryptedPassportElementWithData = this as dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithData public inline fun EncryptedPassportElement.ifEncryptedPassportElementWithData(block: (EncryptedPassportElementWithData) -> T): T? = encryptedPassportElementWithDataOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPassportElementWithEmailOrNull(): EncryptedPassportElementWithEmail? = this as? dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithEmail public inline fun EncryptedPassportElement.encryptedPassportElementWithEmailOrThrow(): EncryptedPassportElementWithEmail = this as dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithEmail public inline fun EncryptedPassportElement.ifEncryptedPassportElementWithEmail(block: (EncryptedPassportElementWithEmail) -> T): T? = encryptedPassportElementWithEmailOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPassportElementWithFilesCollectionOrNull(): EncryptedPassportElementWithFilesCollection? = this as? dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithFilesCollection public inline fun EncryptedPassportElement.encryptedPassportElementWithFilesCollectionOrThrow(): EncryptedPassportElementWithFilesCollection = this as dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithFilesCollection public inline fun EncryptedPassportElement.ifEncryptedPassportElementWithFilesCollection(block: (EncryptedPassportElementWithFilesCollection) -> T): T? = encryptedPassportElementWithFilesCollectionOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPassportElementWithFrontSideOrNull(): EncryptedPassportElementWithFrontSide? = this as? dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithFrontSide public inline fun EncryptedPassportElement.encryptedPassportElementWithFrontSideOrThrow(): EncryptedPassportElementWithFrontSide = this as dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithFrontSide public inline fun EncryptedPassportElement.ifEncryptedPassportElementWithFrontSide(block: (EncryptedPassportElementWithFrontSide) -> T): T? = encryptedPassportElementWithFrontSideOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPassportElementWithPhoneNumberOrNull(): EncryptedPassportElementWithPhoneNumber? = this as? dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithPhoneNumber public inline fun EncryptedPassportElement.encryptedPassportElementWithPhoneNumberOrThrow(): EncryptedPassportElementWithPhoneNumber = this as dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithPhoneNumber public inline fun EncryptedPassportElement.ifEncryptedPassportElementWithPhoneNumber(block: (EncryptedPassportElementWithPhoneNumber) -> T): T? = encryptedPassportElementWithPhoneNumberOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPassportElementWithReverseSideOrNull(): EncryptedPassportElementWithReverseSide? = this as? dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithReverseSide public inline fun EncryptedPassportElement.encryptedPassportElementWithReverseSideOrThrow(): EncryptedPassportElementWithReverseSide = this as dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithReverseSide public inline fun EncryptedPassportElement.ifEncryptedPassportElementWithReverseSide(block: (EncryptedPassportElementWithReverseSide) -> T): T? = encryptedPassportElementWithReverseSideOrNull() ?.let(block) public inline fun EncryptedPassportElement.encryptedPassportElementWithSelfieOrNull(): EncryptedPassportElementWithSelfie? = this as? dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithSelfie public inline fun EncryptedPassportElement.encryptedPassportElementWithSelfieOrThrow(): EncryptedPassportElementWithSelfie = this as dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithSelfie public inline fun EncryptedPassportElement.ifEncryptedPassportElementWithSelfie(block: (EncryptedPassportElementWithSelfie) -> T): T? = encryptedPassportElementWithSelfieOrNull() ?.let(block) public inline fun ScheduledCloseInfo.exactScheduledCloseInfoOrNull(): ExactScheduledCloseInfo? = this as? dev.inmo.tgbotapi.types.polls.ExactScheduledCloseInfo public inline fun ScheduledCloseInfo.exactScheduledCloseInfoOrThrow(): ExactScheduledCloseInfo = this as dev.inmo.tgbotapi.types.polls.ExactScheduledCloseInfo public inline fun ScheduledCloseInfo.ifExactScheduledCloseInfo(block: (ExactScheduledCloseInfo) -> T): T? = exactScheduledCloseInfoOrNull() ?.let(block) public inline fun ScheduledCloseInfo.approximateScheduledCloseInfoOrNull(): ApproximateScheduledCloseInfo? = this as? dev.inmo.tgbotapi.types.polls.ApproximateScheduledCloseInfo public inline fun ScheduledCloseInfo.approximateScheduledCloseInfoOrThrow(): ApproximateScheduledCloseInfo = this as dev.inmo.tgbotapi.types.polls.ApproximateScheduledCloseInfo public inline fun ScheduledCloseInfo.ifApproximateScheduledCloseInfo(block: (ApproximateScheduledCloseInfo) -> T): T? = approximateScheduledCloseInfoOrNull() ?.let(block) public inline fun Poll.multipleAnswersPollOrNull(): MultipleAnswersPoll? = this as? dev.inmo.tgbotapi.types.polls.MultipleAnswersPoll public inline fun Poll.multipleAnswersPollOrThrow(): MultipleAnswersPoll = this as dev.inmo.tgbotapi.types.polls.MultipleAnswersPoll public inline fun Poll.ifMultipleAnswersPoll(block: (MultipleAnswersPoll) -> T): T? = multipleAnswersPollOrNull() ?.let(block) public inline fun Poll.unknownPollTypeOrNull(): UnknownPollType? = this as? dev.inmo.tgbotapi.types.polls.UnknownPollType public inline fun Poll.unknownPollTypeOrThrow(): UnknownPollType = this as dev.inmo.tgbotapi.types.polls.UnknownPollType public inline fun Poll.ifUnknownPollType(block: (UnknownPollType) -> T): T? = unknownPollTypeOrNull() ?.let(block) public inline fun Poll.regularPollOrNull(): RegularPoll? = this as? dev.inmo.tgbotapi.types.polls.RegularPoll public inline fun Poll.regularPollOrThrow(): RegularPoll = this as dev.inmo.tgbotapi.types.polls.RegularPoll public inline fun Poll.ifRegularPoll(block: (RegularPoll) -> T): T? = regularPollOrNull() ?.let(block) public inline fun Poll.quizPollOrNull(): QuizPoll? = this as? dev.inmo.tgbotapi.types.polls.QuizPoll public inline fun Poll.quizPollOrThrow(): QuizPoll = this as dev.inmo.tgbotapi.types.polls.QuizPoll public inline fun Poll.ifQuizPoll(block: (QuizPoll) -> T): T? = quizPollOrNull() ?.let(block) public inline fun Reaction.customEmojiOrNull(): Reaction.CustomEmoji? = this as? dev.inmo.tgbotapi.types.reactions.Reaction.CustomEmoji public inline fun Reaction.customEmojiOrThrow(): Reaction.CustomEmoji = this as dev.inmo.tgbotapi.types.reactions.Reaction.CustomEmoji public inline fun Reaction.ifCustomEmoji(block: (Reaction.CustomEmoji) -> T): T? = customEmojiOrNull() ?.let(block) public inline fun Reaction.emojiOrNull(): Reaction.Emoji? = this as? dev.inmo.tgbotapi.types.reactions.Reaction.Emoji public inline fun Reaction.emojiOrThrow(): Reaction.Emoji = this as dev.inmo.tgbotapi.types.reactions.Reaction.Emoji public inline fun Reaction.ifEmoji(block: (Reaction.Emoji) -> T): T? = emojiOrNull() ?.let(block) public inline fun Reaction.unknownOrNull(): Reaction.Unknown? = this as? dev.inmo.tgbotapi.types.reactions.Reaction.Unknown public inline fun Reaction.unknownOrThrow(): Reaction.Unknown = this as dev.inmo.tgbotapi.types.reactions.Reaction.Unknown public inline fun Reaction.ifUnknown(block: (Reaction.Unknown) -> T): T? = unknownOrNull() ?.let(block) public inline fun RequestResponse.chatSharedOrNull(): ChatShared? = this as? dev.inmo.tgbotapi.types.request.ChatShared public inline fun RequestResponse.chatSharedOrThrow(): ChatShared = this as dev.inmo.tgbotapi.types.request.ChatShared public inline fun RequestResponse.ifChatShared(block: (ChatShared) -> T): T? = chatSharedOrNull() ?.let(block) public inline fun RequestResponse.chatSharedRequestOrNull(): ChatSharedRequest? = this as? dev.inmo.tgbotapi.types.request.ChatSharedRequest public inline fun RequestResponse.chatSharedRequestOrThrow(): ChatSharedRequest = this as dev.inmo.tgbotapi.types.request.ChatSharedRequest public inline fun RequestResponse.ifChatSharedRequest(block: (ChatSharedRequest) -> T): T? = chatSharedRequestOrNull() ?.let(block) public inline fun RequestResponse.usersSharedOrNull(): UsersShared? = this as? dev.inmo.tgbotapi.types.request.UsersShared public inline fun RequestResponse.usersSharedOrThrow(): UsersShared = this as dev.inmo.tgbotapi.types.request.UsersShared public inline fun RequestResponse.ifUsersShared(block: (UsersShared) -> T): T? = usersSharedOrNull() ?.let(block) public inline fun Update.businessConnectionUpdateOrNull(): BusinessConnectionUpdate? = this as? dev.inmo.tgbotapi.types.update.BusinessConnectionUpdate public inline fun Update.businessConnectionUpdateOrThrow(): BusinessConnectionUpdate = this as dev.inmo.tgbotapi.types.update.BusinessConnectionUpdate public inline fun Update.ifBusinessConnectionUpdate(block: (BusinessConnectionUpdate) -> T): T? = businessConnectionUpdateOrNull() ?.let(block) public inline fun Update.businessMessageUpdateOrNull(): BusinessMessageUpdate? = this as? dev.inmo.tgbotapi.types.update.BusinessMessageUpdate public inline fun Update.businessMessageUpdateOrThrow(): BusinessMessageUpdate = this as dev.inmo.tgbotapi.types.update.BusinessMessageUpdate public inline fun Update.ifBusinessMessageUpdate(block: (BusinessMessageUpdate) -> T): T? = businessMessageUpdateOrNull() ?.let(block) public inline fun Update.callbackQueryUpdateOrNull(): CallbackQueryUpdate? = this as? dev.inmo.tgbotapi.types.update.CallbackQueryUpdate public inline fun Update.callbackQueryUpdateOrThrow(): CallbackQueryUpdate = this as dev.inmo.tgbotapi.types.update.CallbackQueryUpdate public inline fun Update.ifCallbackQueryUpdate(block: (CallbackQueryUpdate) -> T): T? = callbackQueryUpdateOrNull() ?.let(block) public inline fun Update.channelPostUpdateOrNull(): ChannelPostUpdate? = this as? dev.inmo.tgbotapi.types.update.ChannelPostUpdate public inline fun Update.channelPostUpdateOrThrow(): ChannelPostUpdate = this as dev.inmo.tgbotapi.types.update.ChannelPostUpdate public inline fun Update.ifChannelPostUpdate(block: (ChannelPostUpdate) -> T): T? = channelPostUpdateOrNull() ?.let(block) public inline fun Update.chatBoostRemovedUpdateOrNull(): ChatBoostRemovedUpdate? = this as? dev.inmo.tgbotapi.types.update.ChatBoostRemovedUpdate public inline fun Update.chatBoostRemovedUpdateOrThrow(): ChatBoostRemovedUpdate = this as dev.inmo.tgbotapi.types.update.ChatBoostRemovedUpdate public inline fun Update.ifChatBoostRemovedUpdate(block: (ChatBoostRemovedUpdate) -> T): T? = chatBoostRemovedUpdateOrNull() ?.let(block) public inline fun Update.chatBoostUpdatedUpdateOrNull(): ChatBoostUpdatedUpdate? = this as? dev.inmo.tgbotapi.types.update.ChatBoostUpdatedUpdate public inline fun Update.chatBoostUpdatedUpdateOrThrow(): ChatBoostUpdatedUpdate = this as dev.inmo.tgbotapi.types.update.ChatBoostUpdatedUpdate public inline fun Update.ifChatBoostUpdatedUpdate(block: (ChatBoostUpdatedUpdate) -> T): T? = chatBoostUpdatedUpdateOrNull() ?.let(block) public inline fun Update.chatJoinRequestUpdateOrNull(): ChatJoinRequestUpdate? = this as? dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate public inline fun Update.chatJoinRequestUpdateOrThrow(): ChatJoinRequestUpdate = this as dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate public inline fun Update.ifChatJoinRequestUpdate(block: (ChatJoinRequestUpdate) -> T): T? = chatJoinRequestUpdateOrNull() ?.let(block) public inline fun Update.chatMessageReactionUpdatedUpdateOrNull(): ChatMessageReactionUpdatedUpdate? = this as? dev.inmo.tgbotapi.types.update.ChatMessageReactionUpdatedUpdate public inline fun Update.chatMessageReactionUpdatedUpdateOrThrow(): ChatMessageReactionUpdatedUpdate = this as dev.inmo.tgbotapi.types.update.ChatMessageReactionUpdatedUpdate public inline fun Update.ifChatMessageReactionUpdatedUpdate(block: (ChatMessageReactionUpdatedUpdate) -> T): T? = chatMessageReactionUpdatedUpdateOrNull() ?.let(block) public inline fun Update.chatMessageReactionsCountUpdatedUpdateOrNull(): ChatMessageReactionsCountUpdatedUpdate? = this as? dev.inmo.tgbotapi.types.update.ChatMessageReactionsCountUpdatedUpdate public inline fun Update.chatMessageReactionsCountUpdatedUpdateOrThrow(): ChatMessageReactionsCountUpdatedUpdate = this as dev.inmo.tgbotapi.types.update.ChatMessageReactionsCountUpdatedUpdate public inline fun Update.ifChatMessageReactionsCountUpdatedUpdate(block: (ChatMessageReactionsCountUpdatedUpdate) -> T): T? = chatMessageReactionsCountUpdatedUpdateOrNull() ?.let(block) public inline fun Update.chosenInlineResultUpdateOrNull(): ChosenInlineResultUpdate? = this as? dev.inmo.tgbotapi.types.update.ChosenInlineResultUpdate public inline fun Update.chosenInlineResultUpdateOrThrow(): ChosenInlineResultUpdate = this as dev.inmo.tgbotapi.types.update.ChosenInlineResultUpdate public inline fun Update.ifChosenInlineResultUpdate(block: (ChosenInlineResultUpdate) -> T): T? = chosenInlineResultUpdateOrNull() ?.let(block) public inline fun Update.commonChatMemberUpdatedUpdateOrNull(): CommonChatMemberUpdatedUpdate? = this as? dev.inmo.tgbotapi.types.update.CommonChatMemberUpdatedUpdate public inline fun Update.commonChatMemberUpdatedUpdateOrThrow(): CommonChatMemberUpdatedUpdate = this as dev.inmo.tgbotapi.types.update.CommonChatMemberUpdatedUpdate public inline fun Update.ifCommonChatMemberUpdatedUpdate(block: (CommonChatMemberUpdatedUpdate) -> T): T? = commonChatMemberUpdatedUpdateOrNull() ?.let(block) public inline fun Update.deletedBusinessMessageUpdateOrNull(): DeletedBusinessMessageUpdate? = this as? dev.inmo.tgbotapi.types.update.DeletedBusinessMessageUpdate public inline fun Update.deletedBusinessMessageUpdateOrThrow(): DeletedBusinessMessageUpdate = this as dev.inmo.tgbotapi.types.update.DeletedBusinessMessageUpdate public inline fun Update.ifDeletedBusinessMessageUpdate(block: (DeletedBusinessMessageUpdate) -> T): T? = deletedBusinessMessageUpdateOrNull() ?.let(block) public inline fun Update.editBusinessMessageUpdateOrNull(): EditBusinessMessageUpdate? = this as? dev.inmo.tgbotapi.types.update.EditBusinessMessageUpdate public inline fun Update.editBusinessMessageUpdateOrThrow(): EditBusinessMessageUpdate = this as dev.inmo.tgbotapi.types.update.EditBusinessMessageUpdate public inline fun Update.ifEditBusinessMessageUpdate(block: (EditBusinessMessageUpdate) -> T): T? = editBusinessMessageUpdateOrNull() ?.let(block) public inline fun Update.editChannelPostUpdateOrNull(): EditChannelPostUpdate? = this as? dev.inmo.tgbotapi.types.update.EditChannelPostUpdate public inline fun Update.editChannelPostUpdateOrThrow(): EditChannelPostUpdate = this as dev.inmo.tgbotapi.types.update.EditChannelPostUpdate public inline fun Update.ifEditChannelPostUpdate(block: (EditChannelPostUpdate) -> T): T? = editChannelPostUpdateOrNull() ?.let(block) public inline fun Update.editMessageUpdateOrNull(): EditMessageUpdate? = this as? dev.inmo.tgbotapi.types.update.EditMessageUpdate public inline fun Update.editMessageUpdateOrThrow(): EditMessageUpdate = this as dev.inmo.tgbotapi.types.update.EditMessageUpdate public inline fun Update.ifEditMessageUpdate(block: (EditMessageUpdate) -> T): T? = editMessageUpdateOrNull() ?.let(block) public inline fun Update.inlineQueryUpdateOrNull(): InlineQueryUpdate? = this as? dev.inmo.tgbotapi.types.update.InlineQueryUpdate public inline fun Update.inlineQueryUpdateOrThrow(): InlineQueryUpdate = this as dev.inmo.tgbotapi.types.update.InlineQueryUpdate public inline fun Update.ifInlineQueryUpdate(block: (InlineQueryUpdate) -> T): T? = inlineQueryUpdateOrNull() ?.let(block) public inline fun Update.messageUpdateOrNull(): MessageUpdate? = this as? dev.inmo.tgbotapi.types.update.MessageUpdate public inline fun Update.messageUpdateOrThrow(): MessageUpdate = this as dev.inmo.tgbotapi.types.update.MessageUpdate public inline fun Update.ifMessageUpdate(block: (MessageUpdate) -> T): T? = messageUpdateOrNull() ?.let(block) public inline fun Update.myChatMemberUpdatedUpdateOrNull(): MyChatMemberUpdatedUpdate? = this as? dev.inmo.tgbotapi.types.update.MyChatMemberUpdatedUpdate public inline fun Update.myChatMemberUpdatedUpdateOrThrow(): MyChatMemberUpdatedUpdate = this as dev.inmo.tgbotapi.types.update.MyChatMemberUpdatedUpdate public inline fun Update.ifMyChatMemberUpdatedUpdate(block: (MyChatMemberUpdatedUpdate) -> T): T? = myChatMemberUpdatedUpdateOrNull() ?.let(block) public inline fun Update.pollAnswerUpdateOrNull(): PollAnswerUpdate? = this as? dev.inmo.tgbotapi.types.update.PollAnswerUpdate public inline fun Update.pollAnswerUpdateOrThrow(): PollAnswerUpdate = this as dev.inmo.tgbotapi.types.update.PollAnswerUpdate public inline fun Update.ifPollAnswerUpdate(block: (PollAnswerUpdate) -> T): T? = pollAnswerUpdateOrNull() ?.let(block) public inline fun Update.pollUpdateOrNull(): PollUpdate? = this as? dev.inmo.tgbotapi.types.update.PollUpdate public inline fun Update.pollUpdateOrThrow(): PollUpdate = this as dev.inmo.tgbotapi.types.update.PollUpdate public inline fun Update.ifPollUpdate(block: (PollUpdate) -> T): T? = pollUpdateOrNull() ?.let(block) public inline fun Update.preCheckoutQueryUpdateOrNull(): PreCheckoutQueryUpdate? = this as? dev.inmo.tgbotapi.types.update.PreCheckoutQueryUpdate public inline fun Update.preCheckoutQueryUpdateOrThrow(): PreCheckoutQueryUpdate = this as dev.inmo.tgbotapi.types.update.PreCheckoutQueryUpdate public inline fun Update.ifPreCheckoutQueryUpdate(block: (PreCheckoutQueryUpdate) -> T): T? = preCheckoutQueryUpdateOrNull() ?.let(block) public inline fun Update.shippingQueryUpdateOrNull(): ShippingQueryUpdate? = this as? dev.inmo.tgbotapi.types.update.ShippingQueryUpdate public inline fun Update.shippingQueryUpdateOrThrow(): ShippingQueryUpdate = this as dev.inmo.tgbotapi.types.update.ShippingQueryUpdate public inline fun Update.ifShippingQueryUpdate(block: (ShippingQueryUpdate) -> T): T? = shippingQueryUpdateOrNull() ?.let(block) public inline fun Update.baseEditMessageUpdateOrNull(): BaseEditMessageUpdate? = this as? dev.inmo.tgbotapi.types.update.abstracts.BaseEditMessageUpdate public inline fun Update.baseEditMessageUpdateOrThrow(): BaseEditMessageUpdate = this as dev.inmo.tgbotapi.types.update.abstracts.BaseEditMessageUpdate public inline fun Update.ifBaseEditMessageUpdate(block: (BaseEditMessageUpdate) -> T): T? = baseEditMessageUpdateOrNull() ?.let(block) public inline fun Update.baseMessageUpdateOrNull(): BaseMessageUpdate? = this as? dev.inmo.tgbotapi.types.update.abstracts.BaseMessageUpdate public inline fun Update.baseMessageUpdateOrThrow(): BaseMessageUpdate = this as dev.inmo.tgbotapi.types.update.abstracts.BaseMessageUpdate public inline fun Update.ifBaseMessageUpdate(block: (BaseMessageUpdate) -> T): T? = baseMessageUpdateOrNull() ?.let(block) public inline fun Update.baseSentMessageUpdateOrNull(): BaseSentMessageUpdate? = this as? dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate public inline fun Update.baseSentMessageUpdateOrThrow(): BaseSentMessageUpdate = this as dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate public inline fun Update.ifBaseSentMessageUpdate(block: (BaseSentMessageUpdate) -> T): T? = baseSentMessageUpdateOrNull() ?.let(block) public inline fun Update.chatMemberUpdatedUpdateOrNull(): ChatMemberUpdatedUpdate? = this as? dev.inmo.tgbotapi.types.update.abstracts.ChatMemberUpdatedUpdate public inline fun Update.chatMemberUpdatedUpdateOrThrow(): ChatMemberUpdatedUpdate = this as dev.inmo.tgbotapi.types.update.abstracts.ChatMemberUpdatedUpdate public inline fun Update.ifChatMemberUpdatedUpdate(block: (ChatMemberUpdatedUpdate) -> T): T? = chatMemberUpdatedUpdateOrNull() ?.let(block) public inline fun Update.unknownUpdateOrNull(): UnknownUpdate? = this as? dev.inmo.tgbotapi.types.update.abstracts.UnknownUpdate public inline fun Update.unknownUpdateOrThrow(): UnknownUpdate = this as dev.inmo.tgbotapi.types.update.abstracts.UnknownUpdate public inline fun Update.ifUnknownUpdate(block: (UnknownUpdate) -> T): T? = unknownUpdateOrNull() ?.let(block)