Package dev.inmo.tgbotapi.extensions.utils.shortcuts

Functions

animationMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.animationMessages(): Flow<ContentMessage<AnimationContent>>
fun FlowsUpdatesFilter.animationMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<AnimationContent>>
audioMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.audioMessages(): Flow<ContentMessage<AudioContent>>
fun FlowsUpdatesFilter.audioMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<AudioContent>>
audioMessagesWithMediaGroups
Link copied to clipboard
common
fun FlowsUpdatesFilter.audioMessagesWithMediaGroups(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<AudioContent>>
channelCreatedEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.channelCreatedEvents(): Flow<ChannelEventMessage<ChannelChatCreated>>
inline fun Flow<ChatEventMessage<*>>.channelCreatedEvents(): Flow<ChannelEventMessage<ChannelChatCreated>>
channelEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.channelEvents(): Flow<ChannelEventMessage<*>>
inline fun Flow<ChatEventMessage<*>>.channelEvents(): Flow<ChannelEventMessage<ChannelEvent>>
closePollAfter
Link copied to clipboard
common
fun closePollAfter(seconds: Seconds): ApproximateScheduledCloseInfo
fun closePollAfter(seconds: LongSeconds): ApproximateScheduledCloseInfo
closePollExactAfter
Link copied to clipboard
common
fun closePollExactAfter(seconds: Seconds): ExactScheduledCloseInfo
fun closePollExactAfter(seconds: LongSeconds): ExactScheduledCloseInfo
closePollExactAt
Link copied to clipboard
common
fun closePollExactAt(dateTime: DateTime): ExactScheduledCloseInfo
contactMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.contactMessages(): Flow<ContentMessage<ContactContent>>
fun FlowsUpdatesFilter.contactMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<ContactContent>>
createResend
Link copied to clipboard
common
fun SentMediaGroupUpdate.createResend(disableNotification: Boolean = false, replyTo: MessageIdentifier? = null): Request<List<MediaGroupMessage<MediaGroupContent>>>
fun List<CommonMessage<MediaGroupContent>>.createResend(chatId: ChatId, disableNotification: Boolean = false, replyTo: MessageIdentifier? = null): Request<List<MediaGroupMessage<MediaGroupContent>>>
fun List<CommonMessage<MediaGroupContent>>.createResend(chat: Chat, disableNotification: Boolean = false, replyTo: MessageIdentifier? = null): Request<List<MediaGroupMessage<MediaGroupContent>>>
deletedChannelPhotoEvents
Link copied to clipboard
common
inline fun Flow<ChatEventMessage<*>>.deletedChannelPhotoEvents(): Flow<ChannelEventMessage<DeleteChatPhoto>>
deletedGroupPhotoEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.deletedGroupPhotoEvents(): Flow<GroupEventMessage<DeleteChatPhoto>>
inline fun Flow<ChatEventMessage<*>>.deletedGroupPhotoEvents(): Flow<GroupEventMessage<DeleteChatPhoto>>
deletedSupergroupPhotoEvents
Link copied to clipboard
common
inline fun Flow<ChatEventMessage<*>>.deletedSupergroupPhotoEvents(): Flow<SupergroupEventMessage<DeleteChatPhoto>>
diceMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.diceMessages(): Flow<ContentMessage<DiceContent>>
fun FlowsUpdatesFilter.diceMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<DiceContent>>
documentMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.documentMessages(): Flow<ContentMessage<DocumentContent>>
fun FlowsUpdatesFilter.documentMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<DocumentContent>>
documentMessagesWithMediaGroups
Link copied to clipboard
common
fun FlowsUpdatesFilter.documentMessagesWithMediaGroups(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<DocumentContent>>
events
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.events(): Flow<ChatEventMessage<*>>
executeAsync
Link copied to clipboard
common
suspend fun <T : Any> RequestsExecutor.executeAsync(request: Request<T>): Deferred<T>
fun <T : Any> RequestsExecutor.executeAsync(request: Request<T>, scope: CoroutineScope): Deferred<T>
executeUnsafe
Link copied to clipboard
common
suspend fun <T : Any> RequestsExecutor.executeUnsafe(request: Request<T>, retries: Int = 0, retriesDelay: Long = 1000L, onAllFailed: suspend (exceptions: Array<Throwable>) -> Unit? = null): T?
filterByChatEvent
Link copied to clipboard
common
inline fun <T : ChatEvent, O : ChatEventMessage<T>> Flow<ChatEventMessage<*>>.filterByChatEvent(): Flow<O>
filterChannelEvents
Link copied to clipboard
common
inline fun <T : ChannelEvent> FlowsUpdatesFilter.filterChannelEvents(): Flow<ChannelEventMessage<T>>
inline fun <T : ChannelEvent> Flow<ChatEventMessage<*>>.filterChannelEvents(): Flow<ChannelEventMessage<T>>
filterCommandsInsideTextMessages
Link copied to clipboard
common
fun <T : ContentMessage<TextContent>> Flow<T>.filterCommandsInsideTextMessages(commandRegex: Regex): Flow<T>
Convert incoming dev.inmo.tgbotapi.types.message.abstracts.ContentMessage.content of messages with fullEntitiesList and check that incoming message contains BotCommandTextSource.
filterCommandsWithArgs
Link copied to clipboard
common
fun <T : ContentMessage<TextContent>> Flow<T>.filterCommandsWithArgs(commandRegex: Regex): Flow<Pair<T, List<TextSource>>>
Convert incoming dev.inmo.tgbotapi.types.message.abstracts.ContentMessage.content of messages with fullEntitiesList and check that incoming message contains first TextSource as BotCommandTextSource.
filterContentMessages
Link copied to clipboard
common
inline fun <T : MessageContent> Flow<BaseSentMessageUpdate>.filterContentMessages(): Flow<ContentMessage<T>>
inline fun <T : MessageContent> FlowsUpdatesFilter.filterContentMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<T>>
filterExactCommands
Link copied to clipboard
common
fun <T : ContentMessage<TextContent>> Flow<T>.filterExactCommands(commandRegex: Regex): Flow<T>
Convert incoming dev.inmo.tgbotapi.types.message.abstracts.ContentMessage.content of messages with fullEntitiesList and check that incoming message contains ONLY ONE TextSource and that is BotCommandTextSource.
filterForContentMessage
Link copied to clipboard
common
inline fun <T : MessageContent> filterForContentMessage(): suspend (ContentMessage<*>) -> ContentMessage<T>?
filterGroupEvents
Link copied to clipboard
common
inline fun <T : GroupEvent> FlowsUpdatesFilter.filterGroupEvents(): Flow<GroupEventMessage<T>>
inline fun <T : GroupEvent> Flow<ChatEventMessage<*>>.filterGroupEvents(): Flow<GroupEventMessage<T>>
filterMediaGroupMessages
Link copied to clipboard
common
inline fun <T : MediaGroupContent> Flow<SentMediaGroupUpdate>.filterMediaGroupMessages(): Flow<List<CommonMessage<T>>>
inline fun <T : MediaGroupContent> FlowsUpdatesFilter.filterMediaGroupMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<List<CommonMessage<T>>>
filterSupergroupEvents
Link copied to clipboard
common
inline fun <T : SupergroupEvent> FlowsUpdatesFilter.filterSupergroupEvents(): Flow<SupergroupEventMessage<T>>
inline fun <T : SupergroupEvent> Flow<ChatEventMessage<*>>.filterSupergroupEvents(): Flow<SupergroupEventMessage<T>>
gameMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.gameMessages(): Flow<ContentMessage<GameContent>>
fun FlowsUpdatesFilter.gameMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<GameContent>>
groupCreatedEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.groupCreatedEvents(): Flow<GroupEventMessage<GroupChatCreated>>
inline fun Flow<ChatEventMessage<*>>.groupCreatedEvents(): Flow<GroupEventMessage<GroupChatCreated>>
groupEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.groupEvents(): Flow<GroupEventMessage<*>>
inline fun Flow<ChatEventMessage<*>>.groupEvents(): Flow<GroupEventMessage<GroupEvent>>
imageMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.imageMessages(): Flow<ContentMessage<PhotoContent>>
inline fun FlowsUpdatesFilter.imageMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<PhotoContent>>
Shortcut for photoMessages
imageMessagesWithMediaGroups
Link copied to clipboard
common
fun FlowsUpdatesFilter.imageMessagesWithMediaGroups(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<PhotoContent>>
invoiceMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.invoiceMessages(): Flow<ContentMessage<InvoiceContent>>
fun FlowsUpdatesFilter.invoiceMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<InvoiceContent>>
leftGroupMemberEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.leftGroupMemberEvents(): Flow<GroupEventMessage<LeftChatMember>>
inline fun Flow<ChatEventMessage<*>>.leftGroupMemberEvents(): Flow<GroupEventMessage<LeftChatMember>>
leftSupergroupMemberEvents
Link copied to clipboard
common
inline fun Flow<ChatEventMessage<*>>.leftSupergroupMemberEvents(): Flow<SupergroupEventMessage<LeftChatMember>>
locationMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.locationMessages(): Flow<ContentMessage<LocationContent>>
fun FlowsUpdatesFilter.locationMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<LocationContent>>
mediaGroupAudioMessages
Link copied to clipboard
common
fun Flow<SentMediaGroupUpdate>.mediaGroupAudioMessages(): Flow<List<CommonMessage<AudioContent>>>
fun FlowsUpdatesFilter.mediaGroupAudioMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<List<CommonMessage<AudioContent>>>
mediaGroupDocumentMessages
Link copied to clipboard
common
fun Flow<SentMediaGroupUpdate>.mediaGroupDocumentMessages(): Flow<List<CommonMessage<DocumentContent>>>
fun FlowsUpdatesFilter.mediaGroupDocumentMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<List<CommonMessage<DocumentContent>>>
mediaGroupMessages
Link copied to clipboard
common
fun Flow<SentMediaGroupUpdate>.mediaGroupMessages(): Flow<List<CommonMessage<MediaGroupContent>>>
fun FlowsUpdatesFilter.mediaGroupMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<List<CommonMessage<MediaGroupContent>>>
mediaGroupPhotosMessages
Link copied to clipboard
common
fun Flow<SentMediaGroupUpdate>.mediaGroupPhotosMessages(): Flow<List<CommonMessage<PhotoContent>>>
fun FlowsUpdatesFilter.mediaGroupPhotosMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<List<CommonMessage<PhotoContent>>>
mediaGroupVideosMessages
Link copied to clipboard
common
fun Flow<SentMediaGroupUpdate>.mediaGroupVideosMessages(): Flow<List<CommonMessage<VideoContent>>>
fun FlowsUpdatesFilter.mediaGroupVideosMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<List<CommonMessage<VideoContent>>>
mediaGroupVisualMessages
Link copied to clipboard
common
fun FlowsUpdatesFilter.mediaGroupVisualMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<List<CommonMessage<VisualMediaGroupContent>>>
newChannelPhotoEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.newChannelPhotoEvents(): Flow<ChannelEventMessage<NewChatPhoto>>
inline fun Flow<ChatEventMessage<*>>.newChannelPhotoEvents(): Flow<ChannelEventMessage<NewChatPhoto>>
newChannelPinnedMessageEvents
Link copied to clipboard
common
inline fun Flow<ChatEventMessage<*>>.newChannelPinnedMessageEvents(): Flow<ChannelEventMessage<PinnedMessage>>
newChannelTitleEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.newChannelTitleEvents(): Flow<ChannelEventMessage<NewChatTitle>>
inline fun Flow<ChatEventMessage<*>>.newChannelTitleEvents(): Flow<ChannelEventMessage<NewChatTitle>>
newGroupMembersEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.newGroupMembersEvents(): Flow<GroupEventMessage<NewChatMembers>>
inline fun Flow<ChatEventMessage<*>>.newGroupMembersEvents(): Flow<GroupEventMessage<NewChatMembers>>
newGroupPhotoEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.newGroupPhotoEvents(): Flow<GroupEventMessage<NewChatPhoto>>
inline fun Flow<ChatEventMessage<*>>.newGroupPhotoEvents(): Flow<GroupEventMessage<NewChatPhoto>>
newGroupPinnedMessageEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.newGroupPinnedMessageEvents(): Flow<GroupEventMessage<PinnedMessage>>
inline fun Flow<ChatEventMessage<*>>.newGroupPinnedMessageEvents(): Flow<GroupEventMessage<PinnedMessage>>
newGroupTitleEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.newGroupTitleEvents(): Flow<GroupEventMessage<NewChatTitle>>
inline fun Flow<ChatEventMessage<*>>.newGroupTitleEvents(): Flow<GroupEventMessage<NewChatTitle>>
newSupergroupMembersEvents
Link copied to clipboard
common
inline fun Flow<ChatEventMessage<*>>.newSupergroupMembersEvents(): Flow<SupergroupEventMessage<NewChatMembers>>
newSupergroupPhotoEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.newSupergroupPhotoEvents(): Flow<SupergroupEventMessage<NewChatPhoto>>
inline fun Flow<ChatEventMessage<*>>.newSupergroupPhotoEvents(): Flow<SupergroupEventMessage<NewChatPhoto>>
newSupergroupPinnedMessageEvents
Link copied to clipboard
common
newSupergroupTitleEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.newSupergroupTitleEvents(): Flow<SupergroupEventMessage<NewChatTitle>>
inline fun Flow<ChatEventMessage<*>>.newSupergroupTitleEvents(): Flow<SupergroupEventMessage<NewChatTitle>>
photoMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.photoMessages(): Flow<ContentMessage<PhotoContent>>
fun FlowsUpdatesFilter.photoMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<PhotoContent>>
photoMessagesWithMediaGroups
Link copied to clipboard
common
fun FlowsUpdatesFilter.photoMessagesWithMediaGroups(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<PhotoContent>>
pollMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.pollMessages(): Flow<ContentMessage<PollContent>>
fun FlowsUpdatesFilter.pollMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<PollContent>>
sentMessages
Link copied to clipboard
common
fun FlowsUpdatesFilter.sentMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<MessageContent>>
sentMessagesWithMediaGroups
Link copied to clipboard
common
fun FlowsUpdatesFilter.sentMessagesWithMediaGroups(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<MessageContent>>
stickerMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.stickerMessages(): Flow<ContentMessage<StickerContent>>
fun FlowsUpdatesFilter.stickerMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<StickerContent>>
supergroupCreatedEvents
Link copied to clipboard
common
inline fun Flow<ChatEventMessage<*>>.supergroupCreatedEvents(): Flow<SupergroupEventMessage<SupergroupChatCreated>>
supergroupEvents
Link copied to clipboard
common
inline fun FlowsUpdatesFilter.supergroupEvents(): Flow<SupergroupEventMessage<*>>
inline fun Flow<ChatEventMessage<*>>.supergroupEvents(): Flow<SupergroupEventMessage<SupergroupEvent>>
textMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.textMessages(): Flow<ContentMessage<TextContent>>
fun FlowsUpdatesFilter.textMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<TextContent>>
venueMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.venueMessages(): Flow<ContentMessage<VenueContent>>
fun FlowsUpdatesFilter.venueMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<VenueContent>>
videoMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.videoMessages(): Flow<ContentMessage<VideoContent>>
fun FlowsUpdatesFilter.videoMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<VideoContent>>
videoMessagesWithMediaGroups
Link copied to clipboard
common
fun FlowsUpdatesFilter.videoMessagesWithMediaGroups(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<VideoContent>>
videoNoteMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.videoNoteMessages(): Flow<ContentMessage<VideoNoteContent>>
fun FlowsUpdatesFilter.videoNoteMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<VideoNoteContent>>
voiceMessages
Link copied to clipboard
common
fun Flow<BaseSentMessageUpdate>.voiceMessages(): Flow<ContentMessage<VoiceContent>>
fun FlowsUpdatesFilter.voiceMessages(scopeToIncludeChannels: CoroutineScope? = null): Flow<ContentMessage<VoiceContent>>

Properties

chat
Link copied to clipboard
common
val List<CommonMessage<out MediaGroupContent>>.chat: Chat?
chat
Link copied to clipboard
common
val SentMediaGroupUpdate.chat: Chat
forwardInfo
Link copied to clipboard
common
val List<CommonMessage<out MediaGroupContent>>.forwardInfo: ForwardInfo?
forwardInfo
Link copied to clipboard
common
val SentMediaGroupUpdate.forwardInfo: ForwardInfo?
mediaGroupId
Link copied to clipboard
common
val List<MediaGroupMessage<*>>.mediaGroupId: MediaGroupIdentifier?
mediaGroupId
Link copied to clipboard
common
replyTo
Link copied to clipboard
common
val List<CommonMessage<out MediaGroupContent>>.replyTo: Message?
replyTo
Link copied to clipboard
common
val SentMediaGroupUpdate.replyTo: Message?