Skip to content

Update dependency dev.inmo:tgbotapi to v36 - #42

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/major-tgbotapi
Open

renovate[bot] wants to merge 1 commit into
masterfrom
renovate/major-tgbotapi

Conversation

@renovate

@renovate renovate Bot commented Jun 13, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
dev.inmo:tgbotapi (source) 33.1.0 → 36.1.0 age confidence

Release Notes

insanusmokrassar/TelegramBotAPI (dev.inmo:tgbotapi)

v36.1.0

  • Dependencies:
    • Update com.gradleup.nmcp.aggregation:com.gradleup.nmcp.aggregation.gradle.plugin from 1.6.0 to 1.6.1
    • Update com.google.devtools.ksp:symbol-processing-api from 2.3.9 to 2.3.11
    • Update io.ktor:ktor-client-core from 3.5.1 to 3.5.2
    • Update dev.inmo:kslog from 1.6.1 to 1.7.0
    • Update dev.inmo:micro_utils.colors.common from 0.30.0 to 0.30.1

v36.0.0

THIS UPDATE CONTAINS SUPPORT OF TELEGRAM BOTS API 10.2

Breaking changes:

  • RichBlockTableCell.align now uses the string-serialized RichBlockTableCellAlign sealed hierarchy (Left, Center, or Right) instead of String
  • RichBlockTableCell.valign now uses the string-serialized RichBlockTableCellVAlign sealed hierarchy (Top, Middle, or Bottom) instead of String
  • RichBlockTableCell is now a sealed interface with Header and Regular implementations; the input table DSL uses headerCell and cell respectively
  • InputRichBlockListItem is now a sealed interface with Ordered and Unordered implementations; ordered items require a non-null value and typed LabelType, while LabelType.Decimals is the default; InputRichBlocksBuilder now exposes separate orderedList and unorderedList DSL functions with matching item builders
  • ReplyParameters is now a sealed interface with nested ReplyParameters.Chat and ReplyParameters.Ephemeral implementations; overloaded ReplyParameters(...) companion factories construct both regular-message and ephemeral-message variants
  • The 4 group-family message implementations (CommonGroupContentMessageImpl, CommonForumContentMessageImpl, CommonChannelDirectMessagesContentMessageImpl, CommonSuggestedChannelDirectMessagesContentMessageImpl) gained trailing receiverUser/ephemeralMessageId primary-constructor parameters (defaulted to null) — positional construction of these classes must be updated
  • reply(to = ...) overloads for the 13 ephemeral-capable senders (see below) now detect an ephemeral to target (to is PossiblyEphemeralMessage && to.ephemeralMessageId != null) and automatically address the reply through ephemeral_message_id, sending the outgoing message itself as ephemeral to the same receiver — this is a behavior change for any existing code that replies to a message carrying a non-null ephemeralMessageId

Migration advice: Keep ReplyParameters(...) for both chat-message and ephemeral-message targets; explicit ReplyParameters.Ephemeral(...) subtype construction also remains available; pass receiverUser/ephemeralMessageId explicitly (or rely on their null default) when constructing the 4 group-family message implementations positionally

  • Core:
    • (Rich Messages) Added the raw-string-serialized RichBlockTableCellVAlign hierarchy and migrated table-cell vertical alignment from String to RichBlockTableCellVAlign
    • (Rich Messages) Added the raw-string-serialized RichBlockTableCellAlign hierarchy and migrated table-cell alignment from String to RichBlockTableCellAlign
    • (Rich Messages) Split RichBlockTableCell into header/regular variants with a shared flat surrogate serializer; added headerCell to the input table DSL
    • (Rich Messages) Added h1 through h6 shortcuts for plain and rich-text headings in InputRichBlocksBuilder
    • (Rich Messages) Reworked the input table DSL to build cells through nested table { row { cell(...) { } } } builders
    • (Rich Messages) Replaced the flat InputRichBlockListItem data class with ordered/unordered variants, added the string-serialized LabelType hierarchy (A, a, I, i, 1), and split the list DSL into InputRichBlockOrderedListBuilder/InputRichBlockUnorderedListBuilder
    • (Rich Messages) Added InputRichBlock hierarchy with all 21 InputRichBlock* types (mirroring the received RichBlock* hierarchy and reusing RichText/RichBlockCaption/RichBlockTableCell), the label-less InputRichBlockListItem and the InputRichBlockSerializer; every InputRichBlock exposes subBlocks navigation
    • (Rich Messages) Added TelegramMediaVoiceNote (InputMediaVoiceNote) and the RichMessageMemberTelegramMedia marker interface implemented by it, TelegramMediaAnimation, TelegramMediaAudio, TelegramMediaPhoto and TelegramMediaVideo; added VoiceFile.toTelegramMediaVoiceNote converters
    • (Rich Messages) Added InputRichMessageMedia type (media referenced from InputRichMessage.html/.markdown via tg://photo?id=, tg://video?id= and tg://audio?id= links)
    • (Rich Messages) InputRichMessage gained blocks and media fields ("exactly one of html, markdown or blocks must be used") and the InputRichMessageBlocks factory; InputRichMessageHTML/InputRichMessageMarkdown gained a trailing media parameter
    • (Rich Messages) Added Rich Messages input DSL builders buildInputRichBlocks/InputRichBlocksBuilder, typed ordered/unordered list builders and the InputRichMessageBlocks { } builder overload (marked with the @RichTextDsl DSL marker)
    • (Rich Messages) SendRichMessage now supports attach:// upload of new files referenced from InputRichMessage.blocks/.media; SendRichMessageDraft now rejects rich messages that require direct file upload (unsupported by the method)
    • (Ephemeral Messages) Added EphemeralMessageId value class, PossiblyEphemeralMessage (receiverUser/ephemeralMessageId) and EphemeralMessageAction (receiverUserId/ephemeralMessageId) abstractions
    • (Ephemeral Messages) RawMessage parses receiver_user/ephemeral_message_id; the 4 group-family Common*ContentMessage types (CommonGroupContentMessage, CommonForumContentMessage, CommonChannelDirectMessagesContentMessage, CommonSuggestedChannelDirectMessagesContentMessage, via the shared PotentiallyFromUserGroupContentMessage) now also implement PossiblyEphemeralMessage
    • (Ephemeral Messages) BotCommand gained the isEphemeral field
    • (Ephemeral Messages) ReplyParameters became a sealed interface with nested Chat and Ephemeral implementations and a shared surrogate-backed serializer preserving the flat Bot API JSON shape; added the Message.ephemeralReplyParametersOrNull()/Message.ephemeralReplyReceiverUserIdOrNull helpers used by the reply(to = ...) smart-branch
    • (Ephemeral Messages) ReplyParameters.Ephemeral and Message.ephemeralReplyParametersOrNull() support and forward allowSendingWithoutReply, checklistTaskId, and pollOptionId together with ephemeralMessageId
    • (Ephemeral Messages) Added receiverUserId/callbackQueryId params (via the new OptionallyEphemeralSendRequest) to the 13 ephemeral-capable send requests: SendTextMessage, SendContact, SendLocation (Static/Live), SendVenue, SendPhotoData, SendLivePhotoData, SendAudioData, SendDocumentData, SendVideoData, SendAnimationData, SendVoiceData, SendVideoNoteData, SendStickerByFileId
    • (Ephemeral Messages) Added EditEphemeralMessageText/EditEphemeralMessageMedia/EditEphemeralMessageCaption/EditEphemeralMessageReplyMarkup and DeleteEphemeralMessage requests (all return Unit, mirroring the inline-message edit family); EditEphemeralMessageMedia rejects MultipartFile media (new file upload is not supported for ephemeral edits)
    • (Ephemeral Messages) Added EphemeralChatId (IdChatIdentifier, carrying chatId/receiverUser/ephemeralMessageId) and the ChatIdentifier.receiverUser/ChatIdentifier.ephemeralMessageId extensions (mirroring ChatIdentifier.threadId); FullChatIdentifierSerializer gained the chatId/eph/receiverUserChatId/ephemeralMessageId string format. The nullable receiverUserId param of the 13 ephemeral-capable send requests still defaults from the passed chatId when it is an EphemeralChatId; DeleteEphemeralMessage and EditEphemeralMessageText/EditEphemeralMessageCaption/EditEphemeralMessageMedia/EditEphemeralMessageReplyMarkup instead keep receiverUserId/ephemeralMessageId REQUIRED on their primary constructor/factory form, gaining EphemeralChatId-taking secondary constructors/factory overloads that source both params from the identifier (throwing IllegalArgumentException if it carries no ephemeralMessageId)
    • (Communities) Added CommunityId value class and Community type (id/name)
    • (Communities) Added CommunityChatAdded (community) and CommunityChatRemoved (fieldless) chat events (CommonEvent); RawMessage parses community_chat_added/community_chat_removed
    • (Communities) Added community field to ExtendedChat (ChatFullInfo.community), parsed for ExtendedChannelChatImpl, ExtendedGroupChatImpl, ExtendedSupergroupChatImpl, ExtendedForumChatImpl, ExtendedChannelDirectMessagesChatImpl and ExtendedBot
    • (Bot Subscriptions) Added BotSubscriptionUpdated (user, invoicePayload, state) and BotSubscriptionUpdatedUpdate; state is modeled as the typed sealed BotSubscriptionUpdated.State (Canceled/Active/Failed, with an Unknown fallback), mirroring TransactionType
    • (Bot Subscriptions) RawUpdate parses the new subscription field; added UPDATE_SUBSCRIPTION to ALL_UPDATES_LIST_WITHOUT_REACTIONS; FlowsUpdatesFilter gained botSubscriptionUpdatedUpdatesFlow
  • API:
    • (Ephemeral Messages) Threaded receiverUserId/callbackQueryId through the sendXxx/send/reply/replyWithXxx extensions for the 13 ephemeral-capable senders (send/Sends.kt, send/Replies.kt, send/RepliesWithChatsAndMessages.kt and their per-type extension files); reply(to = ...) now automatically sends an ephemeral reply when to is itself ephemeral (see Breaking changes)
    • (Ephemeral Messages) Ephemeral-capable reply(to = ...) overloads gained replyToEphemeralMessageId, defaulting from PossiblyEphemeralMessage.ephemeralMessageId; direct and dispatcher overloads forward the explicit target into ephemeralReplyParametersOrNull
    • (Ephemeral Messages) Added 48 ephemeral-only reply/replyWithXxx overloads in RepliesWithEphemeral.kt without a ChatMessage; each overload requires replyInChatId, receiverUserId, and replyToEphemeralMessageId, with complete content-form and dispatcher parity across the 13 ephemeral-capable senders
    • (Ephemeral Messages) Added editEphemeralMessageText/editEphemeralMessageMedia/editEphemeralMessageCaption/editEphemeralMessageReplyMarkup and deleteEphemeralMessage TelegramBot extensions (the latter also accepts a PossiblyEphemeralMessage directly)
    • (Ephemeral Messages) Added explicit replyToEphemeral/replyToEphemeralWithXxx TelegramBot extensions for the 13 ephemeral-capable senders, replying to an ephemeral message by chatId/ephemeralMessageId without requiring the original Message object
    • (Ephemeral Messages) receiverUserId/ephemeralMessageId params of the edit/delete/replyToEphemeral* extensions remain REQUIRED on the chatId: ChatIdentifier/chat: Chat forms; each chatId: ChatIdentifier form additionally gained a convenience overload taking chatId: EphemeralChatId (dropping receiverUserId/ephemeralMessageId) that sources both from the identifier, throwing IllegalArgumentException if it carries no ephemeralMessageId (the chat: Chat forms got no such overload, since Chat.id is statically only an IdChatIdentifier); Replies.kt's receiverUserId default now also checks replyInChatId.receiverUser before falling back to to.ephemeralReplyReceiverUserIdOrNull
    • (Ephemeral Messages) Not covered by this iteration (follow-up): createResend/ResendMessage do not carry ephemeral fields (a resend is always a regular message); handleLiveLocation and the generic reply(mediaFile = ...)/reply(content = ...) dispatchers in RepliesWithChatsAndMessages.kt's copyMessage/live-location branches are unaffected; behaviour_builder triggers/waiters gained no ephemeral-specific helpers
  • BehaviourBuilder:
    • (Communities) Added onCommunityChatAdded/onCommunityChatRemoved triggers
    • (Communities) Added waitCommunityChatAdded/waitCommunityChatRemoved and waitCommunityChatAddedEventsMessages/waitCommunityChatRemovedEventsMessages expectations
    • (Bot Subscriptions) Added onBotSubscriptionUpdated trigger, waitBotSubscriptionUpdated expectation and ByUserBotSubscriptionUpdatedMarkerFactory
  • Utils:
    • (Rich Messages) Added generated class-cast extensions (*OrNull/*OrThrow/if*) for the InputRichBlock hierarchy, TelegramMediaVoiceNote and RichMessageMemberTelegramMedia
    • (Ephemeral Messages) Added generated class-cast extensions (*OrNull/*OrThrow/if*) for EphemeralChatId and PossiblyEphemeralMessage
    • (Communities) Added generated class-cast extensions (*OrNull/*OrThrow/if*) for CommunityChatAdded and CommunityChatRemoved
    • (Bot Subscriptions) Added class casts for BotSubscriptionUpdatedUpdate (whenBotSubscriptionUpdatedUpdate/asBotSubscriptionUpdatedUpdate/requireBotSubscriptionUpdatedUpdate); regenerated class casts extensions (botSubscriptionUpdatedUpdateOrNull/OrThrow, botSubscriptionUpdatedOrNull/OrThrow)

v35.1.0

  • Dependencies:
    • Kotlin: 2.3.20 -> 2.3.21
    • Coroutines: 1.10.2 -> 1.11.0
    • Ktor: 3.4.2 -> 3.5.1
    • KSP: 2.3.6 -> 2.3.9
    • MicroUtils: 0.29.2 -> 0.30.0
    • Dokka: 2.0.0 -> 2.2.0
    • Versions: 0.53.0 -> 0.54.0
    • NMCP: 1.4.4 -> 1.6.0
  • Build:
    • Updated Gradle wrapper 8.13 -> 9.6.1 and migrated build scripts to be Gradle 9 compatible (Project.exec -> providers.exec, tasks.whenTaskAdded -> tasks.configureEach)
    • Migrated Dokka documentation to the Dokka Gradle Plugin v2: the docs module is now included in the build as the KDocs aggregator (./gradlew :docs:dokkaGenerate) and the Publish KDocs workflow was updated accordingly

v35.0.0

THIS UPDATE CONTAINS SUPPORT OF TELEGRAM BOTS API 10.1

Breaking changes:

  • EditTextChatMessage.text changed from String to String? (rich edits carry no text) — implementations overriding it must widen the type and readers must handle null
  • EditChatMessageText.text changed from String to String?; its textSources is now null when there is no text — code reading text as non-null must handle null
  • ExtendedBot gained the supportsJoinRequestQueries field inserted between supportsGuestQueries and canConnectToBusiness — positional constructor calls and componentN destructuring shift and must be updated

Migration advice: Handle nullable text on EditTextChatMessage/EditChatMessageText; construct ExtendedBot with named arguments

  • Core:
    • (Rich Messages) Added RichText (RichTextPlain, RichTextGroup, RichTextEntity) hierarchy with all 25 RichText* entity types and a recursive serializer supporting plain strings, arrays and typed objects; every RichText exposes rawText, markdown and html renderings
    • (Rich Messages) Added RichBlock hierarchy with all 21 RichBlock* types plus RichBlockCaption, RichBlockTableCell and RichBlockListItem; every RichBlock exposes markdown/html source, the RichBlockMedia marker interface and subBlocks/search navigation helpers
    • (Rich Messages) Added RichTextInfo type (with markdown/html source built from its blocks) and RichMessageContent message content; RichMessageContent.createResend re-sends the content (forwarded when it contains media blocks, otherwise re-built through SendRichMessage); parsed rich_message in RawMessage; added RichMessageContentMessage typealias
    • (Rich Messages) Added InputRichMessage (internal constructor with InputRichMessageHTML/InputRichMessageMarkdown factories) and InputRichMessageContent usable as InputMessageContent
    • (Rich Messages) Added Rich Messages DSL builders buildRichText/RichTextBuilder, buildRichBlocks/RichBlocksBuilder, buildRichTextInfo and RichBlockListBuilder (marked with the @RichTextDsl DSL marker)
    • (Rich Messages) Added Rich Markdown/HTML source helpers String.escapeRichMarkdown() and List<RichBlock>.toRichMarkdown()/toRichHtml()
    • (Rich Messages) Added SendRichMessage and SendRichMessageDraft requests
    • (Rich Messages) Added richMessage parameter to EditChatMessageText; its text is now nullable (per API) and the EditChatMessageRichText factory builds a rich edit; widened EditTextChatMessage.text to nullable
    • (Polls) Added Link type (dev.inmo.tgbotapi.types.Link) implementing PollMedia, carrying the url of a link attached to a poll option
    • (Polls) Added link field parsing to PollMedia deserialization/serialization
    • (Polls) Added TelegramMediaLink (InputMediaLink) implementing InputPollOptionMedia, usable as a poll option media
    • (Join Request Queries) Added ChatJoinRequestQueryId value class and queryId field to ChatJoinRequest
    • (Join Request Queries) Added supportsJoinRequestQueries flag to ExtendedBot (User.supports_join_request_queries)
    • (Join Request Queries) Added guardBot field to ExtendedChat (ChatFullInfo.guard_bot), parsed for public chats
    • (Join Request Queries) Added AnswerChatJoinRequestQuery request and ChatJoinRequestQueryResult sealed interface (Approve/Decline/Queue/Unknown) serialized as a plain string
    • (Join Request Queries) Added SendChatJoinRequestWebApp request
  • API:
    • (Rich Messages) Added sendRichMessage and sendRichMessageDraft TelegramBot extensions
    • (Join Request Queries) Added answerChatJoinRequestQuery and sendChatJoinRequestWebApp TelegramBot extensions
  • BehaviourBuilder:
    • (Rich Messages) Added onRichMessage trigger and waitRichMessage/waitRichMessageMessage expectations
  • Utils:
    • (Rich Messages) Added Flow<ContentMessage<*>>.onlyRichMessageContentMessages()
    • (Join Request Queries) Added ChatJoinRequest.query_id raw accessor

v34.0.0

THIS UPDATE CONTAINS SUPPORT OF TELEGRAM BOTS API 10.0

THIS UPDATE CONTAINS BREAKING CHANGES

Breaking changes:

  • Removed the CommonMessage<T> super-type — replaced by the new sealed ChatContentMessage<T> (CommonContentMessage, ChatMessage); code referencing CommonMessage in types, when branches or signatures must switch to ChatContentMessage
  • Renamed casts commonMessageOrNull/commonMessageOrThrow/ifCommonMessage to chatContentMessageOrNull/chatContentMessageOrThrow/ifChatContentMessage
  • Reworked the message hierarchy (ContentMessage, Message, FromUserMessage, PossiblyEditedMessage, PossiblyForwardedMessage, PossiblyPaymentMessage, PossiblySentViaBotCommonMessage, PossiblyTopicMessage, SignedMessage, ChatEventMessage, PassportMessage) and related typealiases — dependent type signatures may need updates
  • Chat send/reply extensions now return ChatContentMessage<*> (previously ContentMessage<*>)
  • ChatPermissions interface gained the abstract canReactToMessages member — custom implementations must add it
  • SendMessageDraft no longer throws when the text length is out of range: it now logs a warning and validates against the new draftMessageTextLength (0..textLength.last) range, allowing empty text
  • pollOptionsLimit changed from 2..12 to 1..12

Migration advice: Replace CommonMessage usages with ChatContentMessage, commonMessageOr with chatContentMessageOr

  • Core:
    • (Guest Mode) Added GuestQueryId value class in dev.inmo.tgbotapi.types and WithOptionalGuestQueryId interface in dev.inmo.tgbotapi.abstracts.types
    • (Guest Mode) Added RequestGuestMessage and RequestGuestContentMessage<T> message abstractions (CommonContentMessage, SpecialMessage, FromUserMessage, PossiblySentViaBot) exposing guestQueryId; added PossiblyGuestAnswerMessage exposing guestBotCallerUser and guestBotCallerChat
    • (Guest Mode) Added RequestGuestContentMessageImpl data class implementing RequestGuestContentMessage
    • (Guest Mode) Added SentGuestMessage carrying InlineMessageId
    • (Guest Mode) Added GuestMessageUpdate (BaseSentMessageUpdate) and guest_message update type wiring in RawUpdate/UpdateTypes/FlowsUpdatesFilter
    • (Guest Mode) Added AnswerGuestQuery request returning SentGuestMessage
    • Introduced sealed ChatContentMessage<T> super-type extending CommonContentMessage and ChatMessage, used as the common return type of chat send/reply operations
    • Reworked ContentMessage, Message, FromUserMessage, PossiblyEditedMessage, PossiblyForwardedMessage, PossiblyPaymentMessage, PossiblySentViaBotCommonMessage, PossiblyTopicMessage, SignedMessage, ChatEventMessage, PassportMessage and related typealiases to integrate guest messages and unify chat content messages
    • Updated RawMessage, MessageUpdate, ChannelPostUpdate, BusinessMessageUpdate, EditMessageUpdate, EditChannelPostUpdate, BaseMessageUpdate, BaseEditMessageUpdate, BaseSentMessageUpdate to align with the new hierarchy
    • (Live Photos) Added LivePhotoFile class representing the incoming LivePhoto Telegram type (PollMedia, MediaContentVariant, UsefulAsPaidMediaFile)
    • (Live Photos) Added LivePhotoContent (VisualMediaGroupPartContent) representing live photo messages
    • (Live Photos) Added TelegramMediaLivePhoto (TelegramFreeMedia, VisualMediaGroupMemberTelegramMedia, InputPollMedia, InputPollOptionMedia) — usable in sendMediaGroup, editMessageMedia, and polls
    • (Live Photos) Added TelegramPaidMediaLivePhoto (VisualTelegramPaidMedia) for paid live photos
    • (Live Photos) Added PaidMedia.LivePhoto variant and PaidMedia.LivePhoto.toTelegramPaidMediaLivePhoto() conversion
    • (Live Photos) Added livePhotoField constant; added live_photo parsing to RawMessage and ReplyInfo.External surrogate
    • (Live Photos) Added SendLivePhoto request and SendLivePhotoData/SendLivePhotoFiles
    • (Live Photos) Added LivePhotoMessage typealias
    • (Live Photos) Added LivePhotoFile.toTelegramMediaLivePhoto(...) and LivePhotoFile.toTelegramPaidMediaLivePhoto() extensions
    • (Chat Management) Added canReactToMessages field to ChatPermissions (interface, Granular and Common) and RestrictedMemberChatMember
    • (Chat Management) Added optional retrieveOtherBots parameter to GetChatAdministrators request
    • (Chat Management) Added DeleteMessageReaction request with @Warning on primary constructor; added DeleteUserMessageReaction and DeleteActorChatMessageReaction factory functions
    • (Chat Management) Added DeleteAllMessageReactions request with @Warning on primary constructor; added DeleteAllUserMessageReactions and DeleteAllActorChatMessageReactions factory functions
    • (Polls) Added TelegramMediaSticker, TelegramMediaLocation and TelegramMediaVenue classes
    • (Polls) Added InputPollMedia and InputPollOptionMedia sealed interfaces representing input media variants accepted by sendPoll
    • (Polls) Added PollMedia class representing media attached to polls in incoming updates
    • (Polls) Added media field to Poll, PollOption and InputPollOption
    • (Polls) Added explanationMedia field to QuizPoll
    • (Polls) Added membersOnly field to Poll
    • (Polls) Added countryCodes field to Poll
    • (Polls) Added media, membersOnly, countryCodes parameters to SendRegularPoll and SendPoll factory functions
    • (Polls) Added media, explanationMedia, membersOnly, countryCodes parameters to SendQuizPoll factory functions
    • (Polls) Decreased minimum allowed poll options count from 2 to 1 (pollOptionsLimit is now 1..12)
    • (Managed Bots Access) Added BotAccessSettings data class in dev.inmo.tgbotapi.types.managed_bots with isAccessRestricted and addedUsers fields
    • (Managed Bots Access) Added GetManagedBotAccessSettings request returning BotAccessSettings
    • (Managed Bots Access) Added SetManagedBotAccessSettings request with userId and optional addedUserIds (isAccessRestricted is derived from addedUserIds)
    • (Managed Bots Access) Added isAccessRestrictedField, addedUsersField, addedUserIdsField constants
    • (Personal Chat) Added GetUserPersonalChatMessages request returning List<ChatContentMessage<*>>
    • (Drafts) SendMessageDraft now allows empty text via the new draftMessageTextLength (0..textLength.last) range and logs a warning instead of throwing when the text length is out of range
  • API:
    • (Guest Mode) Added answerGuestQuery extensions in dev.inmo.tgbotapi.extensions.api.answers
    • (Guest Mode) Added RepliesWithGuestQueryId.kt reply extensions accepting GuestQueryId
    • (Guest Mode) Updated reply/send extensions (Replies, RepliesWithChatsAndMessages, Sends, ResendMessage, SendChecklist, SendContact, SendDice, SendLiveLocation, SendStaticLocation, SendVenue, SendMessage, media Send*, SendGame, SendInvoice, SendQuizPoll, SendRegularPoll) to return ChatContentMessage<*> and align with the new hierarchy
    • (Live Photos) Added sendLivePhoto extensions (ChatIdentifier/Chat × InputFile/LivePhotoFile × text/textSources)
    • (Chat Management) Added optional retrieveOtherBots parameter to getChatAdministrators extensions
    • (Chat Management) Added deleteUserMessageReaction and deleteActorChatMessageReaction extensions
    • (Chat Management) Added deleteAllUserMessageReactions and deleteAllActorChatMessageReactions extensions
    • (Chat Management) Added @Warning-marked catch-all deleteMessageReaction and deleteAllMessageReactions extensions
    • (Polls) Added media, membersOnly, countryCodes parameters to sendRegularPoll extension
    • (Polls) Added media, explanationMedia, membersOnly, countryCodes parameters to sendQuizPoll extension
    • (Managed Bots Access) Added getManagedBotAccessSettings extension in dev.inmo.tgbotapi.extensions.api.managed_bots
    • (Managed Bots Access) Added setManagedBotAccessSettings extension with userId and optional addedUserIds
    • (Personal Chat) Added getUserPersonalChatMessages extension returning List<ContentMessage<*>>
  • Behaviour Builder:
    • (Guest Mode) Added GuestMessageTriggers with onGuestRequestMessage trigger
    • (Guest Mode) Updated WaitContent, WaitContentMessage, WaitEditedContentMessage, WaitMediaGroup, WaitMediaGroupMessages, WaitCommandsMessages, WaitDeepLinks, WaitMention, WaitMentionMessage, ContentTriggers, EditedContentTriggers, MediaGroupMessagesTriggers, MediaGroupTriggers, MentionTriggers, DeepLinkHandling, MessageFilterExcludingMediaGroups for the unified ChatContentMessage hierarchy
    • (Live Photos) Added onLivePhoto, onEditedLivePhoto, onLivePhotoGalleryMessages, onLivePhotoGallery triggers
    • (Live Photos) Added onMentionWithLivePhotoContent/onTextMentionWithLivePhotoContent triggers
    • (Live Photos) Added waitLivePhoto, waitLivePhotoMessage, waitEditedLivePhoto, waitEditedLivePhotoMessage, waitLivePhotoGallery, waitLivePhotoGalleryMessages expectations
    • (Live Photos) Added onlyLivePhotoContentMessages utility
  • Utils:
    • (Guest Mode) Added guestMessageUpdateOrNull and related casts in ClassCastsNew
    • (Guest Mode) Updated MediaGroupContentMessageCreator and FlowsUpdatesFilter to support guest messages

v33.2.0

  • Core:
    • Add ApiException as variant of BotException
    • Add classcasts for bots exceptions

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title Update tgbotapi to v34 Update tgbotapi (major) Jun 22, 2026
@renovate renovate Bot changed the title Update tgbotapi (major) Update dependency dev.inmo:tgbotapi to v34 Jun 25, 2026
@renovate
renovate Bot force-pushed the renovate/major-tgbotapi branch from 184978f to 587f77b Compare July 1, 2026 22:06
@renovate renovate Bot changed the title Update dependency dev.inmo:tgbotapi to v34 Update dependency dev.inmo:tgbotapi to v35 Jul 1, 2026
@renovate
renovate Bot force-pushed the renovate/major-tgbotapi branch from 587f77b to d18e106 Compare August 21, 2026 17:51
@renovate renovate Bot changed the title Update dependency dev.inmo:tgbotapi to v35 Update dependency dev.inmo:tgbotapi to v36 Aug 21, 2026
@renovate
renovate Bot force-pushed the renovate/major-tgbotapi branch from d18e106 to 958aecd Compare August 21, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants