You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Covered Tg API 10.0: guest-mode (answerGuestQuery, User.supportsGuestQueries, Message.guestQueryId/guestBotCallerUser/guestBotCallerChat, Update.guestMessage, SentGuestMessage); live photos (sendLivePhoto, LivePhoto, InputMedia.LivePhoto, PaidMedia.LivePhoto, InputPaidMedia.LivePhoto, Message.livePhoto, ExternalReplyInfo.livePhoto); reaction management (deleteMessageReaction, deleteAllMessageReactions, ChatPermissions.canReactToMessages, ChatMember.Restricted.canReactToMessages); poll media (PollMedia, InputPollMedia, InputPollOptionMedia, InputMediaSticker/Location/Venue, Poll.media/explanationMedia/membersOnly/countryCodes, PollOption.media, InputPollOption.media); managed-bot access (getManagedBotAccessSettings, setManagedBotAccessSettings, BotAccessSettings); plus getUserPersonalChatMessages and returnBots parameter on getChatAdministrators.
Added sessions — to keep per-user/per-chat state with automatic incoming-message tracking, a pluggable storage backend (in-memory by default), a configurable key strategy, and @SessionQualifier("name") to inject multiple independent sessions into the same handler.
Added MessageKind — every message-bearing update now exposes a messageKind property (photo, video, text, service events, etc.) so you can route on the message kind instead of inspecting nullable fields yourself.
Added option to filter @UpdateHandler with MessageKind.
Renamed Identifier.String → Identifier.Literal and Identifier.Long → Identifier.Numeric to avoid shadowing Kotlin built-ins. Identifier.from(...) keeps working unchanged; update direct references if you construct these types by name.