- Added the class Widget and the field widget to the classes Message and ExternalReplyInfo for messages with HTML widgets.
- Added the method sendWidget, allowing bots to send messages with HTML widgets. Currently, in the production environment, widgets can be sent only to private chats, and sent widgets automatically have protected content and therefore can't be forwarded.
- Added the method sendSharedWidget, allowing bots to send again shared widgets created by the bot.
- Added the class WidgetQuery and the field widget_query to the class Update for queries sent to the bot by widgets in messages sent by the bot or via the bot.
- Added the class SharedWidgetQuery and the field shared_widget_query to the class Update for queries sent to the bot from forwarded messages with shared widgets.
- Added the classes WidgetQueryType, WidgetQueryTypeData, WidgetQueryTypeSignData, WidgetQueryTypeSentTransaction and WidgetQueryWallet, describing the type of a query from a widget. A query can contain data for the bot together with the TON wallet card of the user, data signed by a TON wallet of the user, or a notification about a transaction sent from a TON wallet of the user.
- Added the method answerWidgetQuery, allowing bots to answer queries from widgets.
- Added the method editMessageWidgetData, allowing bots to change data of a widget in a message.
Bot API changelog
Versions of the Telegram Bot API with their release dates. Every entry links to Telegram's own text.
Days as the current version
How long each release was the newest one, from the published dates. The first bar is the current version and still counting.
- Added the class RichMessageButton representing a button in a RichMessage.
- Added the class RichTextButton.
- Added the classes RichBlockButtons and InputRichBlockButtons.
- Added the field is_compact to the classes RichBlockTable and InputRichBlockTable.
- Added the classes RichBlockExpandableBlockQuotation and InputRichBlockExpandableBlockQuotation representing a block quotation, which can be expanded or collapsed back.
- Added the classes RichBlockDocument and InputRichBlockDocument, containing a file.
- Added support for links of the form tg://document?id= for general file uploads in rich messages.
- Added the class EphemeralMessageParameters and replaced the parameters receiver_user_id and callback_query_id in the methods sendMessage, sendAnimation, sendAudio, sendDocument, sendLivePhoto, sendPhoto, sendSticker, sendVideo, sendVideoNote, sendVoice, sendContact, sendLocation and sendVenue with the parameter ephemeral_message_parameters.
- Added the class InputRichMessageMedia and the field media to the class InputRichMessage, allowing bots to explicitly specify media used in markdown or html formatting when sending a rich message.
- Added the class InputMediaVoiceNote, representing a voice message to be sent.
- Added the class InputRichBlockListItem, which represents an item in a list to be sent.
- Added the classes InputRichBlockParagraph, InputRichBlockSectionHeading, InputRichBlockPreformatted, InputRichBlockFooter, InputRichBlockDivider, InputRichBlockMathematicalExpression, InputRichBlockAnchor, InputRichBlockList, InputRichBlockBlockQuotation, InputRichBlockPullQuotation, InputRichBlockCollage, InputRichBlockSlideshow, InputRichBlockTable, InputRichBlockDetails, InputRichBlockMap, Inp…
- Added the field blocks to the class InputRichMessage, allowing bots to specify rich message formatting via block entities.
- Introduced support for Ephemeral Messages, allowing bots to send group messages and receive commands that are visible only to a specific user and the bot.
- Added the field is_ephemeral to the class BotCommand.
- Added the field receiver_user to the class Message.
- Added support for Rich Messages, allowing bots to send highly structured text and stream AI-generated replies with seamless rich formatting.
- Added the classes RichTextBold, RichTextItalic, RichTextUnderline, RichTextStrikethrough, RichTextSpoiler, RichTextDateTime, RichTextTextMention, RichTextSubscript, RichTextSuperscript, RichTextMarked, RichTextCode, RichTextCustomEmoji, RichTextMathematicalExpression, RichTextUrl, RichTextEmailAddress, RichTextPhoneNumber, RichTextBankCardNumber, RichTextMention, RichTextHashtag, RichTextCashtag,…
- Added the class RichText, which represents rich formatted text.
- Added the class RichBlockCaption, which represents the caption of a rich formatted text.
- Added the class RichBlockTableCell, which represents a cell in a table.
- Added the class RichBlockListItem, which represents an item in a list.
- Added the classes RichBlockParagraph, RichBlockSectionHeading, RichBlockPreformatted, RichBlockFooter, RichBlockDivider, RichBlockMathematicalExpression, RichBlockAnchor, RichBlockList, RichBlockBlockQuotation, RichBlockPullQuotation, RichBlockCollage, RichBlockSlideshow, RichBlockTable, RichBlockDetails, RichBlockMap, RichBlockAnimation, RichBlockAudio, RichBlockPhoto, RichBlockVideo, RichBlockV…
- Added the class RichBlock, which represents a block in a rich formatted message.
- Introduced support for guest mode, allowing bots to receive certain messages and issue replies within chats they are not a member of.
- Added the field supports_guest_queries to the class User.
- Added the fields guest_bot_caller_user and guest_bot_caller_chat to the class Message.
- Added the field guest_query_id to the class Message.
- Added the field guest_message to the class Update.
- Added the class SentGuestMessage and the method answerGuestQuery.
- Added the field can_react_to_messages to the classes ChatMemberRestricted and ChatPermissions.
- Added the parameter return_bots to the method getChatAdministrators.
- Added the field can_manage_bots to the class User.
- Added the class KeyboardButtonRequestManagedBot and the field request_managed_bot to the class KeyboardButton.
- Added the class ManagedBotCreated and the field managed_bot_created to the class Message.
- Added updates about the creation of managed bots and the change of their token, represented by the class ManagedBotUpdated and the field managed_bot in the class Update.
- Added the methods getManagedBotToken and replaceManagedBotToken.
- Added the class PreparedKeyboardButton and the method savePreparedKeyboardButton, allowing bots to request users, chats and managed bots from Mini Apps.
- Added the method requestChat to the class WebApp.
- Added support for https://t.me/newbot/{manager_bot_username}/{suggested_bot_username}[?name={suggested_bot_name}] links, allowing bots to request the creation of a managed bot via a link.
- Added the MessageEntity type “date_time”, allowing bots to show a formatted date and time to the user.
- Allowed all bots to use the method sendMessageDraft.
- Added the field tag to the classes ChatMemberMember and ChatMemberRestricted.
- Added the method setChatMemberTag.
- Added the field can_edit_tag to the classes ChatMemberRestricted and ChatPermissions.
- Added the field can_manage_tags to the classes ChatMemberAdministrator and ChatAdministratorRights.
- Added the parameter can_manage_tags to the method promoteChatMember.
- Added the field sender_tag to the class Message.
- Allowed bots to use custom emoji in messages directly sent by the bot to private, group and supergroup chats if the owner of the bot has a Telegram Premium subscription.
- Allowed bots to create topics in private chats using the method createForumTopic.
- Allowed bots to prevent users from creating and deleting topics in private chats through a new setting in the @BotFather Mini App.
- Added the field allows_users_to_create_topics to the class User.
- Added the field icon_custom_emoji_id to the classes KeyboardButton and InlineKeyboardButton, allowing bots to show a custom emoji on buttons if they are able to use custom emoji in the message.
- Added the field style to the classes KeyboardButton and InlineKeyboardButton, allowing bots to change the color of buttons.
- Added the class ChatOwnerLeft and the field chat_owner_left to the class Message.
- Added the class ChatOwnerChanged and the field chat_owner_changed to the class Message.
- Added the field has_topics_enabled to the class User, which can be used to determine whether forum topic mode is enabled for the bot in private chats.
- Added the method sendMessageDraft, allowing partial messages to be streamed to a user while being generated.
- Supported the fields message_thread_id and is_topic_message in the class Message for messages in private chats with forum topic mode enabled.
- Supported the parameter message_thread_id in private chats with topics in the methods sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendPaidMedia, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendPoll, sendDice, sendInvoice, sendGame, sendMediaGroup, copyMessage, copyMessages, forwardMessage, and forwardMessages, allowing bots to send a…
- Supported the parameter message_thread_id in private chats in the method sendChatAction, allowing bots to send chat actions to a specific topic in private chats.
- Supported the parameter message_thread_id in private chats with topics in the method editForumTopic, deleteForumTopic, and unpinAllForumTopicMessages, allowing bots to manage topics in private chats.
- Added the field is_name_implicit to the classes ForumTopic and ForumTopicCreated.
- Added the methods getUserGifts and getChatGifts.
- Added the field checklist_task_id to the class ReplyParameters, allowing bots to reply to a specific checklist task.
- Added the field reply_to_checklist_task_id to the class Message.
- Added the field publisher_chat to the classes Gift and UniqueGift which can be used to get information about the chat that published a gift.
- Added the field is_direct_messages to the classes Chat and ChatFullInfo which can be used to identify supergroups that are used as channel direct messages chats.
- Added the field parent_chat to the class ChatFullInfo which indicates the parent channel chat for a channel direct messages chat.
- Added the class DirectMessagesTopic and the field direct_messages_topic to the class Message, describing a topic of a direct messages chat.
- Added the parameter direct_messages_topic_id to the methods sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendPaidMedia, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendDice, sendInvoice, sendMediaGroup, copyMessage, copyMessages, forwardMessage and forwardMessages. This parameter can be used to send a message to a direct messages chat…
- Added the class SuggestedPostParameters and the parameter suggested_post_parameters to the methods sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendPaidMedia, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendDice, sendInvoice, copyMessage, forwardMessage. This parameter can be used to send a suggested post to a direct messages chat top…
- Added the class ChecklistTask representing a task in a checklist.
- Added the class Checklist representing a checklist.
- Added the class InputChecklistTask representing a task to add to a checklist.
- Added the class InputChecklist representing a checklist to create.
- Added the field checklist to the classes Message and ExternalReplyInfo, describing a checklist in a message.
- Added the class ChecklistTasksDone and the field checklist_tasks_done to the class Message, describing a service message about status changes for tasks in a checklist (i.e., marked as done/not done).
- Added the class ChecklistTasksAdded and the field checklist_tasks_added to the class Message, describing a service message about the addition of new tasks to a checklist.
- Added the method sendChecklist, allowing bots to send a checklist on behalf of a business account.
- Added the class BusinessBotRights and replaced the field can_reply with the field rights of the type BusinessBotRights in the class BusinessConnection.
- Added the method readBusinessMessage, allowing bots to mark incoming messages as read on behalf of a business account.
- Added the method deleteBusinessMessages, allowing bots to delete messages on behalf of a business account.
- Added the method setBusinessAccountName, allowing bots to change the first and last name of a managed business account.
- Added the method setBusinessAccountUsername, allowing bots to change the username of a managed business account.
- Added the method setBusinessAccountBio, allowing bots to change the bio of a managed business account.
- Added the class InputProfilePhoto, describing a profile photo to be set.
- Added the methods setBusinessAccountProfilePhoto and removeBusinessAccountProfilePhoto, allowing bots to change the profile photo of a managed business account.
- Added the parameter chat_id to the method sendGift, allowing bots to send gifts to channel chats.
- Added the field can_send_gift to the class ChatFullInfo.
- Added the class TransactionPartnerChat describing transactions with chats.
- Added the fields cover and start_timestamp to the class Video, containing a message-specific cover and a start timestamp for the video.
- Added the parameters cover and start_timestamp to the method sendVideo, allowing bots to specify a cover and a start timestamp for the videos they send.
- Added the fields cover and start_timestamp to the classes InputMediaVideo and InputPaidMediaVideo, allowing bots to edit video cover and start timestamp and specify them for videos in albums and paid media.
- Added the parameter video_start_timestamp to the methods forwardMessage and copyMessage, allowing bots to change the start timestamp for forwarded and copied videos.
- Allowed to add reactions to most types of service messages.
- Added the methods verifyUser, verifyChat, removeUserVerification and removeChatVerification, allowing bots to manage verifications on behalf of an organization.
- Added the field upgrade_star_count to the class Gift.
- Added the parameter pay_for_upgrade to the method sendGift.
- Removed the field hide_url from the class InlineQueryResultArticle. Pass an empty string as url instead.
- Added the field nanostar_amount to the class StarTransaction.
- Added the class TransactionPartnerAffiliateProgram for transactions pertaining to incoming affiliate commissions.
- Added the class AffiliateInfo and the field affiliate to the class TransactionPartnerUser, allowing bots to identify the relevant affiliate in transactions with an affiliate commission.
- Bots now support paid subscriptions powered by Telegram Stars - monetizing their efforts with multiple tiers of content and features.
- Added the parameter subscription_period to the method createInvoiceLink to support the creation of links that are billed periodically.
- Added the parameter business_connection_id to the method createInvoiceLink to support the creation of invoice links on behalf of business accounts.
- Added the fields subscription_expiration_date, is_recurring and is_first_recurring to the class SuccessfulPayment.
- Added the method editUserStarSubscription.
- Added the field subscription_period to the class TransactionPartnerUser.
- Mini Apps are now able to become full-screen in both portrait and landscape mode - allowing them to host more games, play widescreen media and support immersive user experiences.
- Added the methods requestFullscreen and exitFullscreen to the class WebApp to toggle full-screen mode.
- Added the class CopyTextButton and the field copy_text in the class InlineKeyboardButton allowing bots to send and receive inline buttons that copy arbitrary text.
- Added the parameter allow_paid_broadcast to the methods sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendPaidMedia, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendPoll, sendDice, sendInvoice, sendGame, sendMediaGroup and copyMessage.
- Added the class TransactionPartnerTelegramApi for transactions related to paid broadcasted messages.
- Introduced the ability to add media to existing text messages using the method editMessageMedia.
- Added support for hashtag and cashtag entities with a specified chat username that opens a search for the relevant tag within the specified chat.
- Added updates about purchased paid media, represented by the class PaidMediaPurchased and the field purchased_paid_media in the class Update.
- Added the ability to specify a payload in sendPaidMedia that is received back by the bot in TransactionPartnerUser and purchased_paid_media updates.
- Added the field prize_star_count to the classes GiveawayCreated, Giveaway, GiveawayWinners and ChatBoostSourceGiveaway.
- Added the field is_star_giveaway to the class GiveawayCompleted.
- Added the field SecondaryButton to the class WebApp.
- Added the event secondaryButtonClicked for Mini Apps.
- Added the field bottomBarColor and the method setBottomBarColor to the class WebApp.
- Added the field bottom_bar_bg_color to the class ThemeParams.
- Added support for Super Channels, allowing received channel messages to have users or other channels as their senders.
- Added the ability to send paid media to any chat.
- Added the parameter business_connection_id to the method sendPaidMedia, allowing bots to send paid media on behalf of a business account.
- Added the field paid_media to the class TransactionPartnerUser for transactions involving paid media.
- Added the fields subscription_period and subscription_price to the class ChatInviteLink.
- Added the method createChatSubscriptionInviteLink, allowing bots to create subscription invite links.
- Added the method editChatSubscriptionInviteLink, allowing bots to edit the name of subscription invite links.
- Added the field until_date to the class ChatMemberMember for members with an active subscription.
- Added the option for bots to set a Main Mini App, which can be previewed and launched directly from a button in the bot's profile or a link.
- Added the method shareToStory to the class WebApp.
- Added the field has_main_web_app to the class User, which is returned in the response to getMe.
- Added the parameter business_connection_id to the methods pinChatMessage and unpinChatMessage, allowing bots to manage pinned messages on behalf of a business account.
- Added the class RefundedPayment, containing information about a refunded payment.
- Added the field refunded_payment to the class Message, describing a service message about a refunded payment.
- Added the field isVerticalSwipesEnabled and the methods enableVerticalSwipes, disableVerticalSwipes to the class WebApp.
- Added the event scanQrPopupClosed for Mini Apps.
- Added the classes PaidMedia, PaidMediaInfo, PaidMediaPreview, PaidMediaPhoto and PaidMediaVideo, containing information about paid media.
- Added the method sendPaidMedia and the classes InputPaidMedia, InputPaidMediaPhoto and InputPaidMediaVideo, to support sending paid media.
- Documented that the methods copyMessage and copyMessages cannot be used to copy paid media.
- Added the field can_send_paid_media to the class ChatFullInfo.
- Added the field paid_media to the classes Message and ExternalReplyInfo.
- Added the class TransactionPartnerTelegramAds, containing information about Telegram Star transactions involving the Telegram Ads Platform.
- Added the field invoice_payload to the class TransactionPartnerUser, containing the bot-specified invoice payload.
- Changed the default opening mode for Direct Link Mini Apps.
- Added the classes StarTransactions, StarTransaction, TransactionPartner and RevenueWithdrawalState, containing information about Telegram Star transactions involving the bot.
- Added the method getStarTransactions that can be used to get the list of all Telegram Star transactions for the bot.
- Added support for callback buttons in InlineKeyboardMarkup for messages sent on behalf of a business account.
- Added support for callback queries originating from a message sent on behalf of a business account.
- Added the parameter business_connection_id to the methods editMessageText, editMessageMedia, editMessageCaption, editMessageLiveLocation, stopMessageLiveLocation and editMessageReplyMarkup, allowing the bot to edit business messages.
- Added the parameter business_connection_id to the method stopPoll, allowing the bot to stop polls it sent on behalf of a business account.
- Added support for payments in Telegram Stars by introducing the new currency “XTR”.
- The parameter provider_token of the methods sendInvoice and createInvoiceLink must be omitted for payments in Telegram Stars.
- The field provider_token in the class InputInvoiceMessageContent must be omitted for payments in Telegram Stars.
- Added the method refundStarPayment.
- Added the field effect_id to the class Message.
- Added the parameter message_effect_id to the methods sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendPoll, sendDice, sendInvoice, sendGame, and sendMediaGroup.
- Added the field show_caption_above_media to the classes Message, InputMediaAnimation, InputMediaPhoto, InputMediaVideo, InlineQueryResultGif, InlineQueryResultMpeg4Gif, InlineQueryResultPhoto, InlineQueryResultVideo, InlineQueryResultCachedGif, InlineQueryResultCachedMpeg4Gif, InlineQueryResultCachedPhoto, and InlineQueryResultCachedVideo.
- Added the parameter show_caption_above_media to the methods sendAnimation, sendPhoto, sendVideo, copyMessage, and editMessageCaption.
- Added support for InlineKeyboardMarkup with url, login_url, and callback_game buttons for messages sent on behalf of a business account.
- Added the field via_join_request to the class ChatMemberUpdated.
- Added support for live locations that can be edited indefinitely, allowing 0x7FFFFFFF to be used as live_period.
- Added the parameter live_period to the method editMessageLiveLocation.
- Added the field question_entities to the class Poll.
- Added the field text_entities to the class PollOption.
- Added the parameters question_parse_mode and question_entities to the method sendPoll.
- Added the class InputPollOption and changed the type of the parameter options in the method sendPoll to Array of InputPollOption.
- Added the class BusinessConnection and updates about the connection or disconnection of the bot to a business account, represented by the field business_connection in the class Update.
- Added updates about new messages in a business account connected to the bot, represented by the field business_message in the class Update.
- Added updates about message edits in a business account connected to the bot, represented by the field edited_business_message in the class Update.
- Added updates about message deletion in a business account connected to the bot, represented by the class BusinessMessagesDeleted and the field deleted_business_messages in the class Update.
- Added the method getBusinessConnection.
- Added the parameter business_connection_id to the methods sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendPoll, sendDice, sendGame, and sendMediaGroup.
- Added the parameter business_connection_id to the method sendChatAction.
- Added the field business_connection_id to the class Message.
- Added support for the administrator rights can_post_stories, can_edit_stories, can_delete_stories in supergroups.
- Added the class ChatBoostAdded and the field boost_added to the class Message for service messages about a user boosting a chat.
- Added the field sender_boost_count to the class Message.
- Added the field reply_to_story to the class Message.
- Added the fields chat and id to the class Story.
- Added the field unrestrict_boost_count to the class Chat.
- Added the field custom_emoji_sticker_set_name to the class Chat.
- Added the classes ReactionTypeEmoji and ReactionTypeCustomEmoji representing different types of reaction.
- Added updates about a reaction change on a message with non-anonymous reactions, represented by the class MessageReactionUpdated and the field message_reaction in the class Update. The bot must explicitly allow the update to receive it.
- Added updates about reaction changes on a message with anonymous reactions, represented by the class MessageReactionCountUpdated and the field message_reaction_count in the class Update. The bot must explicitly allow the update to receive it.
- Added the method setMessageReaction that allows bots to react to messages.
- Added the field available_reactions to the class Chat.
- Added the ability to reply to messages in other chats or forum topics.
- Added the class ExternalReplyInfo and the field external_reply of type ExternalReplyInfo to the class Message, containing information about a message that is replied to by the current message, but can be from another chat or forum topic.
- Added the ability to quote a part of the replied message.
- Added the new administrator privileges can_post_stories, can_edit_stories and can_delete_stories to the classes ChatMemberAdministrator and ChatAdministratorRights.
- Added the parameters can_post_stories, can_edit_stories and can_delete_stories to the method promoteChatMember. Currently, bots have no use for these privileges besides assigning them to other administrators.
- Added the ability to set any header color for Web App using the method setHeaderColor.
- Added the field CloudStorage to the class WebApp.
- Added the methods requestWriteAccess and requestContact to the class WebApp.
- Added Web App events writeAccessRequested and contactRequested.
- Added the fields from_request and from_attachment_menu to the class WriteAccessAllowed.
- Added the fields added_to_attachment_menu and allows_write_to_pm to the class WebAppUser.
- Added the field story to the class Message for messages with forwarded stories. Currently, it holds no information.
- Added the field voter_chat to the class PollAnswer, to contain channel chat voters in Polls. For backward compatibility, the field user in such objects will contain the user 136817688 (@Channel_Bot).
- Added the field emoji_status_expiration_date to the class Chat.
- Added the method unpinAllGeneralForumTopicMessages.
- Increased to 512 characters the maximum length of the startapp parameter in direct Web App links.
- Added support for launching Web Apps from inline query results by replacing the parameters switch_pm_text and switch_pm_parameter of the method answerInlineQuery with the parameter button of type InlineQueryResultsButton.
- Added the field web_app_name to the class WriteAccessAllowed.
- Added the field switch_inline_query_chosen_chat of the type SwitchInlineQueryChosenChat to the class InlineKeyboardButton, which allows bots to switch to inline mode in a chosen chat of the given type.
- Added the field via_chat_folder_invite_link to the class ChatMemberUpdated.
- Added the ability to set different bot names for different user languages using the method setMyName.
- Added the ability to get the current bot name in the given language as the class BotName using the method getMyName.
- Added the ability to change bot settings from the bot's profile in official Telegram apps, including the ability to set animated profile photos.
- Added the ability to specify custom emoji entities using HTML and MarkdownV2 formatting options for bots that purchased additional usernames on Fragment.
- Added the ability to set different bot descriptions for different user languages using the method setMyDescription.
- Added the ability to get the current bot description in the given language as the class BotDescription using the method getMyDescription.
- Added the ability to set different bot short descriptions for different user languages using the method setMyShortDescription.
- Added the ability to get the current bot short description in the given language as the class BotShortDescription using the method getMyShortDescription.
- Added the parameter emoji to the method sendSticker to specify an emoji for just uploaded stickers.
- Added support for the creation of custom emoji sticker sets in createNewStickerSet.
- Added the parameter needs_repainting to the method createNewStickerSet to automatically change the color of emoji based on context (e.g., use text color in messages, accent color in statuses, etc.).
- Added the field needs_repainting to the class Sticker.
- Added requests for users and chats and support for granular media permissions.
- Added the class KeyboardButtonRequestUser and the field request_user to the class KeyboardButton.
- Added the class KeyboardButtonRequestChat and the field request_chat to the class KeyboardButton.
- Added the classes UserShared, ChatShared and the fields user_shared, and chat_shared to the class Message.
- Replaced the fields can_send_media_messages in the classes ChatMemberRestricted and ChatPermissions with separate fields can_send_audios, can_send_documents, can_send_photos, can_send_videos, can_send_video_notes, and can_send_voice_notes for different media types.
- Added the parameter use_independent_chat_permissions to the methods restrictChatMember and setChatPermissions.
- Added the field user_chat_id to the class ChatJoinRequest.
- Added the field is_persistent to the class ReplyKeyboardMarkup, allowing to control when the keyboard is shown.
- Added the parameter has_spoiler to the methods sendPhoto, sendVideo, and sendAnimation.
- Added the field has_spoiler to the classes InputMediaPhoto, InputMediaVideo, and InputMediaAnimation.
- Added the field has_media_spoiler to the class Message.
- The parameters name and icon_custom_emoji_id of the method editForumTopic are now optional. If they are omitted, the existing values are kept.
- Added the classes ForumTopicEdited, GeneralForumTopicHidden, GeneralForumTopicUnhidden, and WriteAccessAllowed and the fields forum_topic_edited, general_forum_topic_hidden, general_forum_topic_unhidden, and write_access_allowed to the class Message.
- Added the methods editGeneralForumTopic, closeGeneralForumTopic, reopenGeneralForumTopic, hideGeneralForumTopic, unhideGeneralForumTopic for managing the General topic in forums.
- Added the parameter message_thread_id to the method sendChatAction for sending chat actions to a specific message thread or a forum topic.
- Added support for Topics in Groups.
- Added the field is_forum to the class Chat.
- Added the fields is_topic_message and message_thread_id to the class Message to allow detection of messages belonging to a forum topic and their message thread identifier.
- Added the classes ForumTopicCreated, ForumTopicClosed, and ForumTopicReopened and the fields forum_topic_created, forum_topic_closed, and forum_topic_reopened to the class Message. Note that service messages about forum topic creation can't be deleted with the deleteMessage method.
- Added the field can_manage_topics to the classes ChatAdministratorRights, ChatPermissions, ChatMemberAdministrator, and ChatMemberRestricted.
- Added the parameter can_manage_topics to the method promoteChatMember.
- Added the methods createForumTopic, editForumTopic, closeForumTopic, reopenForumTopic, deleteForumTopic, unpinAllForumTopicMessages, and getForumTopicIconStickers for forum topic management.
- Added the parameter message_thread_id to the methods sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendPoll, sendDice, sendInvoice, sendGame, sendMediaGroup, copyMessage, forwardMessage to support sending of messages to a forum topic.
- Added the MessageEntity type “custom_emoji”.
- Added the field custom_emoji_id to the class MessageEntity for “custom_emoji” entities.
- Added the method getCustomEmojiStickers.
- Added the fields type and custom_emoji_id to the class Sticker.
- Added the field sticker_type to the class StickerSet, describing the type of stickers in the set.
- The field contains_masks has been removed from the documentation of the class StickerSet. The field is still returned in the object for backward compatibility, but new bots should use the field sticker_type instead.
- Added the parameter sticker_type to the method createNewStickerSet.
- The parameter contains_masks has been removed from the documentation of the method createNewStickerSet. The parameter will still work for backward compatibility, but new bots should use the parameter sticker_type instead.
- Added support for photos and videos in the 'What can this bot do?' section (shown on the bot's start screen). Use BotFather to set up media.
- Added the fields version, headerColor, backgroundColor, BackButton, HapticFeedback and the methods isVersionAtLeast, setHeaderColor, setBackgroundColor, openLink, openTelegramLink, openInvoice to the class WebApp.
- Added the field secondary_bg_color to the class ThemeParams.
- Added the method offClick to the class MainButton.
- Added the fields chat, can_send_after to the class WebAppInitData.
- Added the events backButtonClicked, settingsButtonClicked, invoiceClosed.
- Added the fields join_to_send_messages and join_by_request to the class Chat.
- Added the ability to process join requests which were created without an invite link. Bots will receive a “chat_join_request” update as usual.
- Added support for Web Apps, see the detailed manual here. (blog announcement)
- Added the class WebAppInfo and the fields web_app to the classes KeyboardButton and InlineKeyboardButton.
- Added the class SentWebAppMessage and the method answerWebAppQuery for sending an answer to a Web App query, which originated from an inline button of the 'web_app' type.
- Added the class WebAppData and the field web_app_data to the class Message.
- Added the class MenuButton and the methods setChatMenuButton and getChatMenuButton for managing the behavior of the bot's menu button in private chats.
- Added the class ChatAdministratorRights and the methods setMyDefaultAdministratorRights and getMyDefaultAdministratorRights for managing the bot's default administrator rights.
- Added support for t.me links that can be used to add the bot to groups and channels as an administrator.
- Added the field last_synchronization_error_date to the class WebhookInfo.
- Added support for Video Stickers.
- Added the field is_video to the classes Sticker and StickerSet.
- Added the parameter webm_sticker to the methods createNewStickerSet and addStickerToSet.
- Improved support for Protected Content.
- Added the parameter protect_content to the methods sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendPoll, sendDice, sendInvoice, sendGame, sendMediaGroup, copyMessage, forwardMessage to allow sending messages with protected content to any chat.
- Added support for spoiler entities, which will work in Telegram versions released after December 30, 2021. Older clients will display unsupported message.
- Added new MessageEntity type “spoiler”.
- Added the ability to specify spoiler entities using HTML and MarkdownV2 formatting options.
Data: core.telegram.org/bots/api-changelog · fetched 1 h ago
FAQ
Where is the official Telegram Bot API changelog?
At core.telegram.org/bots/api-changelog. This page lists the same releases with their dates and links every entry to the official text.
Do I have to update my bot for every version?
No. Bot API versions are backwards compatible in almost all cases: new fields and methods are added, and old ones keep working. Read the entries marked as changed or removed.
How do I know which version my library supports?
Library release notes name the Bot API version they cover. A field from a newer version simply does not appear in an older library's types, although Telegram sends it.