New CommunitiesBot demonstrating the 36.0.0 communities API:
- onCommunityChatAdded / onCommunityChatRemoved triggers for the
community_chat_added / community_chat_removed service events
- reading the Community (id/name) from CommunityChatAdded
- ExtendedChat.community (ChatFullInfo.community) via getChat
- waitCommunityChatAdded expectation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New EphemeralMessagesBot demonstrating the 36.0.0 ephemeral-message API:
- sendTextMessage with receiverUserId + callbackQueryId to send a message
visible only to one user in a group, in response to a callback query
- PossiblyEphemeralMessage detection of ephemeral messages
- editEphemeralMessageText / deleteEphemeralMessage addressed by
chatId + receiverUserId + ephemeralMessageId
- reply() smart-branch replying ephemerally to an ephemeral message, and the
explicit replyToEphemeral form
- BotCommand.isEphemeral flag
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Extend RichMessagesBot with the 36.0.0 rich-message input additions:
- rich_blocks: build a rich message from the typed InputRichBlocks DSL
(InputRichMessageBlocks { }) instead of an HTML/Markdown string
- rich_blocks_draft: stream a draft-only thinking() blocks sequence via
sendRichMessageDraft, then finalize with sendRichMessage
- onPhoto: embed a received photo into a rich message both via
InputRichMessageMedia (tg://photo?id=) referenced from HTML and as a
first-class photo() media block inside the blocks tree
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>