- Approve/Decline/Queue are now data object
- each inheritor (and Unknown) annotated with the shared
ChatJoinRequestQueryResult.Companion serializer
- companion PrimitiveSerialDescriptor serial name is "ChatJoinRequestQueryResult"
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- ChatJoinRequestQueryResult: enum -> sealed interface (Approve/Decline/
Queue objects + Unknown) with a companion KSerializer using a
PrimitiveKind.STRING descriptor (encodeString/decodeString), not
String.serializer()
- EditChatMessageText: text is now nullable per API; add EditChatMessageRichText
factory for rich edits; widen EditTextChatMessage.text to String?
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds the full Rich Messages type system and methods:
- RichText hierarchy: RichTextPlain, RichTextGroup, RichTextEntity and all
24 RichText* entity types, with a recursive serializer handling plain
strings, arrays and typed objects
- RichBlock hierarchy: all 21 RichBlock* types plus RichBlockCaption,
RichBlockTableCell and RichBlockListItem (JsonContentPolymorphic by type)
- RichMessage type and RichMessageContent message content; rich_message
parsed in RawMessage; RichMessageContentMessage typealias
- InputRichMessage (internal constructor + InputRichMessageHTML /
InputRichMessageMarkdown factories) and InputRichMessageContent usable as
InputMessageContent
- SendRichMessage and SendRichMessageDraft requests with API bindings
- richMessage parameter on EditChatMessageText
- Serialization round-trip test for RichMessage/RichText/RichBlock
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds:
- ChatJoinRequestQueryId value class and ChatJoinRequest.queryId field
- ExtendedBot.supportsJoinRequestQueries (User.supports_join_request_queries)
- ExtendedChat.guardBot (ChatFullInfo.guard_bot), parsed for public chats
- AnswerChatJoinRequestQuery request + ChatJoinRequestQueryResult enum
- SendChatJoinRequestWebApp request
- answerChatJoinRequestQuery / sendChatJoinRequestWebApp TelegramBot extensions
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds the Link type implementing PollMedia (the url attached to a poll
option), parses the new `link` field in PollMedia, and adds
TelegramMediaLink (InputMediaLink) usable as InputPollOptionMedia.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>