Update dependency dev.inmo:tgbotapi to v36 - #42
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/major-tgbotapi
branch
from
July 1, 2026 22:06
184978f to
587f77b
Compare
renovate
Bot
force-pushed
the
renovate/major-tgbotapi
branch
from
August 21, 2026 17:51
587f77b to
d18e106
Compare
renovate
Bot
force-pushed
the
renovate/major-tgbotapi
branch
from
August 21, 2026 21:52
d18e106 to
958aecd
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
33.1.0→36.1.0Release Notes
insanusmokrassar/TelegramBotAPI (dev.inmo:tgbotapi)
v36.1.0Dependencies:com.gradleup.nmcp.aggregation:com.gradleup.nmcp.aggregation.gradle.pluginfrom1.6.0to1.6.1com.google.devtools.ksp:symbol-processing-apifrom2.3.9to2.3.11io.ktor:ktor-client-corefrom3.5.1to3.5.2dev.inmo:kslogfrom1.6.1to1.7.0dev.inmo:micro_utils.colors.commonfrom0.30.0to0.30.1v36.0.0THIS UPDATE CONTAINS SUPPORT OF TELEGRAM BOTS API 10.2
Breaking changes:
RichBlockTableCell.alignnow uses the string-serializedRichBlockTableCellAlignsealed hierarchy (Left,Center, orRight) instead ofStringRichBlockTableCell.valignnow uses the string-serializedRichBlockTableCellVAlignsealed hierarchy (Top,Middle, orBottom) instead ofStringRichBlockTableCellis now a sealed interface withHeaderandRegularimplementations; the input table DSL usesheaderCellandcellrespectivelyInputRichBlockListItemis now a sealed interface withOrderedandUnorderedimplementations; ordered items require a non-nullvalueand typedLabelType, whileLabelType.Decimalsis the default;InputRichBlocksBuildernow exposes separateorderedListandunorderedListDSL functions with matching item buildersReplyParametersis now a sealed interface with nestedReplyParameters.ChatandReplyParameters.Ephemeralimplementations; overloadedReplyParameters(...)companion factories construct both regular-message and ephemeral-message variantsCommonGroupContentMessageImpl,CommonForumContentMessageImpl,CommonChannelDirectMessagesContentMessageImpl,CommonSuggestedChannelDirectMessagesContentMessageImpl) gained trailingreceiverUser/ephemeralMessageIdprimary-constructor parameters (defaulted tonull) — positional construction of these classes must be updatedreply(to = ...)overloads for the 13 ephemeral-capable senders (see below) now detect an ephemeraltotarget (to is PossiblyEphemeralMessage && to.ephemeralMessageId != null) and automatically address the reply throughephemeral_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-nullephemeralMessageIdMigration advice: Keep
ReplyParameters(...)for both chat-message and ephemeral-message targets; explicitReplyParameters.Ephemeral(...)subtype construction also remains available; passreceiverUser/ephemeralMessageIdexplicitly (or rely on theirnulldefault) when constructing the 4 group-family message implementations positionallyCore:Rich Messages) Added the raw-string-serializedRichBlockTableCellVAlignhierarchy and migrated table-cell vertical alignment fromStringtoRichBlockTableCellVAlignRich Messages) Added the raw-string-serializedRichBlockTableCellAlignhierarchy and migrated table-cell alignment fromStringtoRichBlockTableCellAlignRich Messages) SplitRichBlockTableCellinto header/regular variants with a shared flat surrogate serializer; addedheaderCellto the input table DSLRich Messages) Addedh1throughh6shortcuts for plain and rich-text headings inInputRichBlocksBuilderRich Messages) Reworked the input table DSL to build cells through nestedtable { row { cell(...) { } } }buildersRich Messages) Replaced the flatInputRichBlockListItemdata class with ordered/unordered variants, added the string-serializedLabelTypehierarchy (A,a,I,i,1), and split the list DSL intoInputRichBlockOrderedListBuilder/InputRichBlockUnorderedListBuilderRich Messages) AddedInputRichBlockhierarchy with all 21InputRichBlock*types (mirroring the receivedRichBlock*hierarchy and reusingRichText/RichBlockCaption/RichBlockTableCell), the label-lessInputRichBlockListItemand theInputRichBlockSerializer; everyInputRichBlockexposessubBlocksnavigationRich Messages) AddedTelegramMediaVoiceNote(InputMediaVoiceNote) and theRichMessageMemberTelegramMediamarker interface implemented by it,TelegramMediaAnimation,TelegramMediaAudio,TelegramMediaPhotoandTelegramMediaVideo; addedVoiceFile.toTelegramMediaVoiceNoteconvertersRich Messages) AddedInputRichMessageMediatype (media referenced fromInputRichMessage.html/.markdownviatg://photo?id=,tg://video?id=andtg://audio?id=links)Rich Messages)InputRichMessagegainedblocksandmediafields ("exactly one ofhtml,markdownorblocksmust be used") and theInputRichMessageBlocksfactory;InputRichMessageHTML/InputRichMessageMarkdowngained a trailingmediaparameterRich Messages) Added Rich Messages input DSL buildersbuildInputRichBlocks/InputRichBlocksBuilder, typed ordered/unordered list builders and theInputRichMessageBlocks { }builder overload (marked with the@RichTextDslDSL marker)Rich Messages)SendRichMessagenow supportsattach://upload of new files referenced fromInputRichMessage.blocks/.media;SendRichMessageDraftnow rejects rich messages that require direct file upload (unsupported by the method)Ephemeral Messages) AddedEphemeralMessageIdvalue class,PossiblyEphemeralMessage(receiverUser/ephemeralMessageId) andEphemeralMessageAction(receiverUserId/ephemeralMessageId) abstractionsEphemeral Messages)RawMessageparsesreceiver_user/ephemeral_message_id; the 4 group-familyCommon*ContentMessagetypes (CommonGroupContentMessage,CommonForumContentMessage,CommonChannelDirectMessagesContentMessage,CommonSuggestedChannelDirectMessagesContentMessage, via the sharedPotentiallyFromUserGroupContentMessage) now also implementPossiblyEphemeralMessageEphemeral Messages)BotCommandgained theisEphemeralfieldEphemeral Messages)ReplyParametersbecame a sealed interface with nestedChatandEphemeralimplementations and a shared surrogate-backed serializer preserving the flat Bot API JSON shape; added theMessage.ephemeralReplyParametersOrNull()/Message.ephemeralReplyReceiverUserIdOrNullhelpers used by thereply(to = ...)smart-branchEphemeral Messages)ReplyParameters.EphemeralandMessage.ephemeralReplyParametersOrNull()support and forwardallowSendingWithoutReply,checklistTaskId, andpollOptionIdtogether withephemeralMessageIdEphemeral Messages) AddedreceiverUserId/callbackQueryIdparams (via the newOptionallyEphemeralSendRequest) to the 13 ephemeral-capable send requests:SendTextMessage,SendContact,SendLocation(Static/Live),SendVenue,SendPhotoData,SendLivePhotoData,SendAudioData,SendDocumentData,SendVideoData,SendAnimationData,SendVoiceData,SendVideoNoteData,SendStickerByFileIdEphemeral Messages) AddedEditEphemeralMessageText/EditEphemeralMessageMedia/EditEphemeralMessageCaption/EditEphemeralMessageReplyMarkupandDeleteEphemeralMessagerequests (all returnUnit, mirroring the inline-message edit family);EditEphemeralMessageMediarejectsMultipartFilemedia (new file upload is not supported for ephemeral edits)Ephemeral Messages) AddedEphemeralChatId(IdChatIdentifier, carryingchatId/receiverUser/ephemeralMessageId) and theChatIdentifier.receiverUser/ChatIdentifier.ephemeralMessageIdextensions (mirroringChatIdentifier.threadId);FullChatIdentifierSerializergained thechatId/eph/receiverUserChatId/ephemeralMessageIdstring format. The nullablereceiverUserIdparam of the 13 ephemeral-capable send requests still defaults from the passedchatIdwhen it is anEphemeralChatId;DeleteEphemeralMessageandEditEphemeralMessageText/EditEphemeralMessageCaption/EditEphemeralMessageMedia/EditEphemeralMessageReplyMarkupinstead keepreceiverUserId/ephemeralMessageIdREQUIRED on their primary constructor/factory form, gainingEphemeralChatId-taking secondary constructors/factory overloads that source both params from the identifier (throwingIllegalArgumentExceptionif it carries noephemeralMessageId)Communities) AddedCommunityIdvalue class andCommunitytype (id/name)Communities) AddedCommunityChatAdded(community) andCommunityChatRemoved(fieldless) chat events (CommonEvent);RawMessageparsescommunity_chat_added/community_chat_removedCommunities) Addedcommunityfield toExtendedChat(ChatFullInfo.community), parsed forExtendedChannelChatImpl,ExtendedGroupChatImpl,ExtendedSupergroupChatImpl,ExtendedForumChatImpl,ExtendedChannelDirectMessagesChatImplandExtendedBotBot Subscriptions) AddedBotSubscriptionUpdated(user,invoicePayload,state) andBotSubscriptionUpdatedUpdate;stateis modeled as the typed sealedBotSubscriptionUpdated.State(Canceled/Active/Failed, with anUnknownfallback), mirroringTransactionTypeBot Subscriptions)RawUpdateparses the newsubscriptionfield; addedUPDATE_SUBSCRIPTIONtoALL_UPDATES_LIST_WITHOUT_REACTIONS;FlowsUpdatesFiltergainedbotSubscriptionUpdatedUpdatesFlowAPI:Ephemeral Messages) ThreadedreceiverUserId/callbackQueryIdthrough thesendXxx/send/reply/replyWithXxxextensions for the 13 ephemeral-capable senders (send/Sends.kt,send/Replies.kt,send/RepliesWithChatsAndMessages.ktand their per-type extension files);reply(to = ...)now automatically sends an ephemeral reply whentois itself ephemeral (see Breaking changes)Ephemeral Messages) Ephemeral-capablereply(to = ...)overloads gainedreplyToEphemeralMessageId, defaulting fromPossiblyEphemeralMessage.ephemeralMessageId; direct and dispatcher overloads forward the explicit target intoephemeralReplyParametersOrNullEphemeral Messages) Added 48 ephemeral-onlyreply/replyWithXxxoverloads inRepliesWithEphemeral.ktwithout aChatMessage; each overload requiresreplyInChatId,receiverUserId, andreplyToEphemeralMessageId, with complete content-form and dispatcher parity across the 13 ephemeral-capable sendersEphemeral Messages) AddededitEphemeralMessageText/editEphemeralMessageMedia/editEphemeralMessageCaption/editEphemeralMessageReplyMarkupanddeleteEphemeralMessageTelegramBotextensions (the latter also accepts aPossiblyEphemeralMessagedirectly)Ephemeral Messages) Added explicitreplyToEphemeral/replyToEphemeralWithXxxTelegramBotextensions for the 13 ephemeral-capable senders, replying to an ephemeral message bychatId/ephemeralMessageIdwithout requiring the originalMessageobjectEphemeral Messages)receiverUserId/ephemeralMessageIdparams of the edit/delete/replyToEphemeral*extensions remain REQUIRED on thechatId: ChatIdentifier/chat: Chatforms; eachchatId: ChatIdentifierform additionally gained a convenience overload takingchatId: EphemeralChatId(droppingreceiverUserId/ephemeralMessageId) that sources both from the identifier, throwingIllegalArgumentExceptionif it carries noephemeralMessageId(thechat: Chatforms got no such overload, sinceChat.idis statically only anIdChatIdentifier);Replies.kt'sreceiverUserIddefault now also checksreplyInChatId.receiverUserbefore falling back toto.ephemeralReplyReceiverUserIdOrNullEphemeral Messages) Not covered by this iteration (follow-up):createResend/ResendMessagedo not carry ephemeral fields (a resend is always a regular message);handleLiveLocationand the genericreply(mediaFile = ...)/reply(content = ...)dispatchers inRepliesWithChatsAndMessages.kt'scopyMessage/live-location branches are unaffected;behaviour_buildertriggers/waiters gained no ephemeral-specific helpersBehaviourBuilder:Communities) AddedonCommunityChatAdded/onCommunityChatRemovedtriggersCommunities) AddedwaitCommunityChatAdded/waitCommunityChatRemovedandwaitCommunityChatAddedEventsMessages/waitCommunityChatRemovedEventsMessagesexpectationsBot Subscriptions) AddedonBotSubscriptionUpdatedtrigger,waitBotSubscriptionUpdatedexpectation andByUserBotSubscriptionUpdatedMarkerFactoryUtils:Rich Messages) Added generated class-cast extensions (*OrNull/*OrThrow/if*) for theInputRichBlockhierarchy,TelegramMediaVoiceNoteandRichMessageMemberTelegramMediaEphemeral Messages) Added generated class-cast extensions (*OrNull/*OrThrow/if*) forEphemeralChatIdandPossiblyEphemeralMessageCommunities) Added generated class-cast extensions (*OrNull/*OrThrow/if*) forCommunityChatAddedandCommunityChatRemovedBot Subscriptions) Added class casts forBotSubscriptionUpdatedUpdate(whenBotSubscriptionUpdatedUpdate/asBotSubscriptionUpdatedUpdate/requireBotSubscriptionUpdatedUpdate); regenerated class casts extensions (botSubscriptionUpdatedUpdateOrNull/OrThrow,botSubscriptionUpdatedOrNull/OrThrow)v35.1.0Dependencies:Kotlin:2.3.20->2.3.21Coroutines:1.10.2->1.11.0Ktor:3.4.2->3.5.1KSP:2.3.6->2.3.9MicroUtils:0.29.2->0.30.0Dokka:2.0.0->2.2.0Versions:0.53.0->0.54.0NMCP:1.4.4->1.6.0Build:8.13->9.6.1and migrated build scripts to be Gradle 9 compatible (Project.exec->providers.exec,tasks.whenTaskAdded->tasks.configureEach)docsmodule is now included in the build as the KDocs aggregator (./gradlew :docs:dokkaGenerate) and thePublish KDocsworkflow was updated accordinglyv35.0.0THIS UPDATE CONTAINS SUPPORT OF TELEGRAM BOTS API 10.1
Breaking changes:
EditTextChatMessage.textchanged fromStringtoString?(rich edits carry no text) — implementations overriding it must widen the type and readers must handlenullEditChatMessageText.textchanged fromStringtoString?; itstextSourcesis nownullwhen there is no text — code readingtextas non-null must handlenullExtendedBotgained thesupportsJoinRequestQueriesfield inserted betweensupportsGuestQueriesandcanConnectToBusiness— positional constructor calls andcomponentNdestructuring shift and must be updatedMigration advice: Handle nullable
textonEditTextChatMessage/EditChatMessageText; constructExtendedBotwith named argumentsCore:Rich Messages) AddedRichText(RichTextPlain,RichTextGroup,RichTextEntity) hierarchy with all 25RichText*entity types and a recursive serializer supporting plain strings, arrays and typed objects; everyRichTextexposesrawText,markdownandhtmlrenderingsRich Messages) AddedRichBlockhierarchy with all 21RichBlock*types plusRichBlockCaption,RichBlockTableCellandRichBlockListItem; everyRichBlockexposesmarkdown/htmlsource, theRichBlockMediamarker interface andsubBlocks/searchnavigation helpersRich Messages) AddedRichTextInfotype (withmarkdown/htmlsource built from its blocks) andRichMessageContentmessage content;RichMessageContent.createResendre-sends the content (forwarded when it contains media blocks, otherwise re-built throughSendRichMessage); parsedrich_messageinRawMessage; addedRichMessageContentMessagetypealiasRich Messages) AddedInputRichMessage(internal constructor withInputRichMessageHTML/InputRichMessageMarkdownfactories) andInputRichMessageContentusable asInputMessageContentRich Messages) Added Rich Messages DSL buildersbuildRichText/RichTextBuilder,buildRichBlocks/RichBlocksBuilder,buildRichTextInfoandRichBlockListBuilder(marked with the@RichTextDslDSL marker)Rich Messages) Added Rich Markdown/HTML source helpersString.escapeRichMarkdown()andList<RichBlock>.toRichMarkdown()/toRichHtml()Rich Messages) AddedSendRichMessageandSendRichMessageDraftrequestsRich Messages) AddedrichMessageparameter toEditChatMessageText; itstextis now nullable (per API) and theEditChatMessageRichTextfactory builds a rich edit; widenedEditTextChatMessage.textto nullablePolls) AddedLinktype (dev.inmo.tgbotapi.types.Link) implementingPollMedia, carrying theurlof a link attached to a poll optionPolls) Addedlinkfield parsing toPollMediadeserialization/serializationPolls) AddedTelegramMediaLink(InputMediaLink) implementingInputPollOptionMedia, usable as a poll option mediaJoin Request Queries) AddedChatJoinRequestQueryIdvalue class andqueryIdfield toChatJoinRequestJoin Request Queries) AddedsupportsJoinRequestQueriesflag toExtendedBot(User.supports_join_request_queries)Join Request Queries) AddedguardBotfield toExtendedChat(ChatFullInfo.guard_bot), parsed for public chatsJoin Request Queries) AddedAnswerChatJoinRequestQueryrequest andChatJoinRequestQueryResultsealed interface (Approve/Decline/Queue/Unknown) serialized as a plain stringJoin Request Queries) AddedSendChatJoinRequestWebApprequestAPI:Rich Messages) AddedsendRichMessageandsendRichMessageDraftTelegramBotextensionsJoin Request Queries) AddedanswerChatJoinRequestQueryandsendChatJoinRequestWebAppTelegramBotextensionsBehaviourBuilder:Rich Messages) AddedonRichMessagetrigger andwaitRichMessage/waitRichMessageMessageexpectationsUtils:Rich Messages) AddedFlow<ContentMessage<*>>.onlyRichMessageContentMessages()Join Request Queries) AddedChatJoinRequest.query_idraw accessorv34.0.0THIS UPDATE CONTAINS SUPPORT OF TELEGRAM BOTS API 10.0
THIS UPDATE CONTAINS BREAKING CHANGES
Breaking changes:
CommonMessage<T>super-type — replaced by the new sealedChatContentMessage<T>(CommonContentMessage,ChatMessage); code referencingCommonMessagein types,whenbranches or signatures must switch toChatContentMessagecommonMessageOrNull/commonMessageOrThrow/ifCommonMessagetochatContentMessageOrNull/chatContentMessageOrThrow/ifChatContentMessageContentMessage,Message,FromUserMessage,PossiblyEditedMessage,PossiblyForwardedMessage,PossiblyPaymentMessage,PossiblySentViaBotCommonMessage,PossiblyTopicMessage,SignedMessage,ChatEventMessage,PassportMessage) and related typealiases — dependent type signatures may need updatesChatContentMessage<*>(previouslyContentMessage<*>)ChatPermissionsinterface gained the abstractcanReactToMessagesmember — custom implementations must add itSendMessageDraftno longer throws when the text length is out of range: it now logs a warning and validates against the newdraftMessageTextLength(0..textLength.last) range, allowing empty textpollOptionsLimitchanged from2..12to1..12Migration advice: Replace
CommonMessageusages withChatContentMessage,commonMessageOrwithchatContentMessageOrCore:Guest Mode) AddedGuestQueryIdvalue class indev.inmo.tgbotapi.typesandWithOptionalGuestQueryIdinterface indev.inmo.tgbotapi.abstracts.typesGuest Mode) AddedRequestGuestMessageandRequestGuestContentMessage<T>message abstractions (CommonContentMessage,SpecialMessage,FromUserMessage,PossiblySentViaBot) exposingguestQueryId; addedPossiblyGuestAnswerMessageexposingguestBotCallerUserandguestBotCallerChatGuest Mode) AddedRequestGuestContentMessageImpldata class implementingRequestGuestContentMessageGuest Mode) AddedSentGuestMessagecarryingInlineMessageIdGuest Mode) AddedGuestMessageUpdate(BaseSentMessageUpdate) andguest_messageupdate type wiring inRawUpdate/UpdateTypes/FlowsUpdatesFilterGuest Mode) AddedAnswerGuestQueryrequest returningSentGuestMessageChatContentMessage<T>super-type extendingCommonContentMessageandChatMessage, used as the common return type of chat send/reply operationsContentMessage,Message,FromUserMessage,PossiblyEditedMessage,PossiblyForwardedMessage,PossiblyPaymentMessage,PossiblySentViaBotCommonMessage,PossiblyTopicMessage,SignedMessage,ChatEventMessage,PassportMessageand related typealiases to integrate guest messages and unify chat content messagesRawMessage,MessageUpdate,ChannelPostUpdate,BusinessMessageUpdate,EditMessageUpdate,EditChannelPostUpdate,BaseMessageUpdate,BaseEditMessageUpdate,BaseSentMessageUpdateto align with the new hierarchyLive Photos) AddedLivePhotoFileclass representing the incomingLivePhotoTelegram type (PollMedia,MediaContentVariant,UsefulAsPaidMediaFile)Live Photos) AddedLivePhotoContent(VisualMediaGroupPartContent) representing live photo messagesLive Photos) AddedTelegramMediaLivePhoto(TelegramFreeMedia,VisualMediaGroupMemberTelegramMedia,InputPollMedia,InputPollOptionMedia) — usable insendMediaGroup,editMessageMedia, and pollsLive Photos) AddedTelegramPaidMediaLivePhoto(VisualTelegramPaidMedia) for paid live photosLive Photos) AddedPaidMedia.LivePhotovariant andPaidMedia.LivePhoto.toTelegramPaidMediaLivePhoto()conversionLive Photos) AddedlivePhotoFieldconstant; addedlive_photoparsing toRawMessageandReplyInfo.ExternalsurrogateLive Photos) AddedSendLivePhotorequest andSendLivePhotoData/SendLivePhotoFilesLive Photos) AddedLivePhotoMessagetypealiasLive Photos) AddedLivePhotoFile.toTelegramMediaLivePhoto(...)andLivePhotoFile.toTelegramPaidMediaLivePhoto()extensionsChat Management) AddedcanReactToMessagesfield toChatPermissions(interface,GranularandCommon) andRestrictedMemberChatMemberChat Management) Added optionalretrieveOtherBotsparameter toGetChatAdministratorsrequestChat Management) AddedDeleteMessageReactionrequest with@Warningon primary constructor; addedDeleteUserMessageReactionandDeleteActorChatMessageReactionfactory functionsChat Management) AddedDeleteAllMessageReactionsrequest with@Warningon primary constructor; addedDeleteAllUserMessageReactionsandDeleteAllActorChatMessageReactionsfactory functionsPolls) AddedTelegramMediaSticker,TelegramMediaLocationandTelegramMediaVenueclassesPolls) AddedInputPollMediaandInputPollOptionMediasealed interfaces representing input media variants accepted bysendPollPolls) AddedPollMediaclass representing media attached to polls in incoming updatesPolls) Addedmediafield toPoll,PollOptionandInputPollOptionPolls) AddedexplanationMediafield toQuizPollPolls) AddedmembersOnlyfield toPollPolls) AddedcountryCodesfield toPollPolls) Addedmedia,membersOnly,countryCodesparameters toSendRegularPollandSendPollfactory functionsPolls) Addedmedia,explanationMedia,membersOnly,countryCodesparameters toSendQuizPollfactory functionsPolls) Decreased minimum allowed poll options count from 2 to 1 (pollOptionsLimitis now1..12)Managed Bots Access) AddedBotAccessSettingsdata class indev.inmo.tgbotapi.types.managed_botswithisAccessRestrictedandaddedUsersfieldsManaged Bots Access) AddedGetManagedBotAccessSettingsrequest returningBotAccessSettingsManaged Bots Access) AddedSetManagedBotAccessSettingsrequest withuserIdand optionaladdedUserIds(isAccessRestrictedis derived fromaddedUserIds)Managed Bots Access) AddedisAccessRestrictedField,addedUsersField,addedUserIdsFieldconstantsPersonal Chat) AddedGetUserPersonalChatMessagesrequest returningList<ChatContentMessage<*>>Drafts)SendMessageDraftnow allows empty text via the newdraftMessageTextLength(0..textLength.last) range and logs a warning instead of throwing when the text length is out of rangeAPI:Guest Mode) AddedanswerGuestQueryextensions indev.inmo.tgbotapi.extensions.api.answersGuest Mode) AddedRepliesWithGuestQueryId.ktreply extensions acceptingGuestQueryIdGuest Mode) Updated reply/send extensions (Replies,RepliesWithChatsAndMessages,Sends,ResendMessage,SendChecklist,SendContact,SendDice,SendLiveLocation,SendStaticLocation,SendVenue,SendMessage, mediaSend*,SendGame,SendInvoice,SendQuizPoll,SendRegularPoll) to returnChatContentMessage<*>and align with the new hierarchyLive Photos) AddedsendLivePhotoextensions (ChatIdentifier/Chat×InputFile/LivePhotoFile× text/textSources)Chat Management) Added optionalretrieveOtherBotsparameter togetChatAdministratorsextensionsChat Management) AddeddeleteUserMessageReactionanddeleteActorChatMessageReactionextensionsChat Management) AddeddeleteAllUserMessageReactionsanddeleteAllActorChatMessageReactionsextensionsChat Management) Added@Warning-marked catch-alldeleteMessageReactionanddeleteAllMessageReactionsextensionsPolls) Addedmedia,membersOnly,countryCodesparameters tosendRegularPollextensionPolls) Addedmedia,explanationMedia,membersOnly,countryCodesparameters tosendQuizPollextensionManaged Bots Access) AddedgetManagedBotAccessSettingsextension indev.inmo.tgbotapi.extensions.api.managed_botsManaged Bots Access) AddedsetManagedBotAccessSettingsextension withuserIdand optionaladdedUserIdsPersonal Chat) AddedgetUserPersonalChatMessagesextension returningList<ContentMessage<*>>Behaviour Builder:Guest Mode) AddedGuestMessageTriggerswithonGuestRequestMessagetriggerGuest Mode) UpdatedWaitContent,WaitContentMessage,WaitEditedContentMessage,WaitMediaGroup,WaitMediaGroupMessages,WaitCommandsMessages,WaitDeepLinks,WaitMention,WaitMentionMessage,ContentTriggers,EditedContentTriggers,MediaGroupMessagesTriggers,MediaGroupTriggers,MentionTriggers,DeepLinkHandling,MessageFilterExcludingMediaGroupsfor the unifiedChatContentMessagehierarchyLive Photos) AddedonLivePhoto,onEditedLivePhoto,onLivePhotoGalleryMessages,onLivePhotoGallerytriggersLive Photos) AddedonMentionWithLivePhotoContent/onTextMentionWithLivePhotoContenttriggersLive Photos) AddedwaitLivePhoto,waitLivePhotoMessage,waitEditedLivePhoto,waitEditedLivePhotoMessage,waitLivePhotoGallery,waitLivePhotoGalleryMessagesexpectationsLive Photos) AddedonlyLivePhotoContentMessagesutilityUtils:Guest Mode) AddedguestMessageUpdateOrNulland related casts inClassCastsNewGuest Mode) UpdatedMediaGroupContentMessageCreatorandFlowsUpdatesFilterto support guest messagesv33.2.0Core:ApiExceptionas variant ofBotExceptionConfiguration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.