All Versions
41
Latest Version
Avg Release Cycle
53 days
Latest Release
47 days ago

Changelog History
Page 1

  • v17.0.0-alpha.2 Changes

    September 01, 2021

    βž• Added

    • πŸ“œ Interface IExceptionsParser
    • Type ApiResponse
    • πŸ“œ Property ITelegramBotClient.ExceptionsParser
  • v17.0.0-alpha.1 Changes

    June 13, 2021

    Bot API 5.3 (June 25, 2021)

    βž• Added

    • Enum InputMediaType
    • Type BanCommandScope
    • 0️⃣ Type BanCommandScopeDefault
    • Type BanCommandScopeAllPrivateChats
    • Type BanCommandScopeAllGroupChats
    • Type BanCommandScopeAllChatAdministrators
    • Type BanCommandScopeChat
    • Type BanCommandScopeChatAdministrators
    • Type BanCommandScopeChatMember
    • Enum BanCommandScopeType
    • Type ChatMemberOwner
    • Type ChatMemberAdministrator
    • Type ChatMemberMember
    • Type ChatMemberRestricted
    • Type ChatMemberLeft
    • Type ChatMemberBanned
    • Request BanChatMemberRequest
    • Request BanChatMemberRequest
    • Request DeleteMyCommandsRequest
    • Request GetChatMemberCountRequest
    • Method ITelegramBotClient.DeleteMyCommandsAsync
    • Method ITelegramBotClient.BanChatMemberAsync
    • Method ITelegramBotClient.GetChatMemberCountAsync
    • Property BotCommandScope GetMyCommandsRequest.Scope { get; set; }
    • Property string GetMyCommandsRequest.LanguageCode { get; set; }
    • Property BotCommandScope SetMyCommandsRequest.Scope { get; set; }
    • Property string SetMyCommandsRequest.LanguageCode { get; set; }
    • Property IRequest<TResponse>.IsWebhookResponse { get; set; }
    • Protected constructor InputMediaBase that accepts InputMedia
    • Protected constructor InputTelegramFile that accepts FileType
    • Property string ForceReplyMarkup.InputFieldPlaceholder { get; set; }
    • Property string ReplyKeyboardMarkup.InputFieldPlaceholder { get; set; }
    • Enum EncryptedPassportElementType
    • Interface IChatTargetable
    • Interface IUserTargetable

    πŸ”„ Changed

    • Type InlineQueryResultBase renamed to InlineQueryResult
    • Type ChatMember is made abstract
    • Property ChatMember.Status is made abstract
    • 0️⃣ Every use of enum ParseMode is made nullable to represent default text mode without any markup
    • Type KickChatMemberRequest is marked as obsolete
    • Type GetChatMembersCountRequest is marked as obsolete
    • Method ITelegramBotClient.KickChatMemberAsync is marked as obsolete
    • Method ITelegramBotClient.GetChatMembersCountAsync is marked as obsolete
    • All underlying enum values changed to start from 1 instead of 0. 0 value are reserved for unknown enum values.
    • 🚚 Type ChatMember is made abstract and it's properties are moved into separate inheriting classes
    • πŸ”„ Changed parameters in ITelegramBotClient.GetMyCommandsAsync: added parameters BotCommandScope scope and string language
    • πŸ”„ Changed parameters in ITelegramBotClient.SetMyCommandsAsync: added parameters BotCommandScope scope and string language
    • Type of property IInputMedia.Type changed from string to InputMediaType
    • Property InputFileStream.FileType is no longer virtual
    • Constructor of type InputFileStream that accepts both Stream content and string fileName: filename parameter is made optional
    • Constructor of type InputOnlineFile that accepts both Stream content and string fileName: filename parameter is made optional
    • Constructor of type InputTelegramFile that accepts both Stream content and string fileName: filename parameter is made optional
    • Property InputMediaBase.Type is made abstract
    • Protected setter InputTelegramFile.FileId is made private protected
    • Type of property EncryptedPassportElement.Type changed from string to EncryptedPassportElementType
    • All optional types are made nullable be it value or reference types

    βœ‚ Removed

    • Public setter ChatMember.Status
    • 0️⃣ Enum member ParseMode.Default
    • Enum members ChatAction.RecordAudio and ChatAction.UploadAudio
    • Protected setter from property InputFileStream.Content
    • Constructor of type InputFileStream that accepts only Stream
    • Constructor of type InputOnlineFile that accepts only Stream
    • Constructor of type InputTelegramFile that accepts only Stream
    • Property setter InputMediaBase.Media
    • Protected setter InputOnlineFile.Url
    • All obsolete types, methods and properties related to polling events
    • Following interfaces: ICaptionEntities, IEntities, IFormattableEntities, IInlineMessage, IInlineReplyMarkupMessage, INotifiableMessage, IReplyMarkupMessage, IReplyMessage, IThumbMediaMessage, ICaptionInlineQueryResult, ILocationInlineQueryResult, IThumbnailInlineQueryResult, IThumbnailUrlInlineQueryResult
  • v16.0.2 Changes

    August 16, 2021

    πŸ›  Fixed

    • Parameter name ChatLocation.String replaced with ChatLocation.Address
  • v16.0.1 Changes

    July 10, 2021

    πŸ›  Fixed

    • ITelegramBotClient.SendDocumentAsync passed wrong value into DisableContentTypeDetection property
  • v16.0.0 Changes

    June 13, 2021

    πŸ”„ Changed

    • Animation inherits from FileBase
    • All custom exceptions are marked as obsolete
  • v16.0.0-alpha.2 Changes

    May 10, 2021

    Bot API 5.2 (April 26, 2021)

    βž• Added

    • ⏱ Property VoiceChatScheduled to the class Message.
    • ⏱ Types VoiceChatScheduled, InputInvoiceMessageContent
    • πŸ†• New MessageType value: VoiceChatScheduled
    • Property ChatType to the class InlineQuery.
    • πŸ†• New ChatType value: Sender
    • πŸ†• New ChatAction values: RecordVoice, UploadVoice
    • Optional parameters maxTipAmount and suggestedTipAmounts to ITelegramBotClient.SendInvoiceAsync
    • Properties MaxTipAmount and SuggestedTipAmounts to SendInvoiceRequest

    πŸ”„ Changed

    • Parameter order in ITelegramBotClient.UnpinChatMessageAsync
    • Parameter startParameter of the method ITelegramBotClient.SendInvoiceAsync became optional
    • ChatAction values RecordAudio and UploadAudio marked as obsolete
    • ReplyToMessageId and AllowSendingWithoutReply in IReplyMessage, CopyMessageRequest, SendLocationRequest, SendAnimationRequest, SendAudioRequest, SendContactRequest, SendDiceRequest, SendDocumentRequest, SendMediaGroupRequest, SendMessageRequest, SendPhotoRequest, SendPollRequest, SendVenueRequest, SendVideoNoteRequest, SendVideoRequest, SendVoiceRequest, SendGameRequest, SendStickerRequest marked as optional

    ⚠ > ⚠️ WARNING! ⚠️ ⚑️ > After the next Bot API update (Bot API 5.3) there will be a one-time change of the value of the field FileUniqueId in objects of the type PhotoSize and of the fields SmallFileUniqueId and BigFileUniqueId in objects of the type ChatPhoto.

    <!-- --> ⚠ > ⚠️ WARNING! ⚠️ ⚑️ > Service messages about non-bot users joining the chat will be soon removed from large groups. We recommend using the β€œchat_member” update as a replacement.

    <!-- --> ⚠ > ⚠️ WARNING! ⚠️ ⚑️ > After one of the upcoming Bot API updates, user identifiers will become bigger than 231 - 1 and it will be no longer possible to store them in a signed 32-bit integer type. User identifiers will have up to 52 significant bits, so a 64-bit integer or double-precision float type would still be safe for storing them. Please make sure that your code can correctly handle such user identifiers.

    πŸ›  Fixed

    • πŸ“„ Align property order and description with official docs

    βœ‚ Removed

    • Parameter startParameter from SendInvoiceRequest constructor
  • v16.0.0-alpha.1 Changes

    May 01, 2021

    Bot API 5.1 (March 9, 2021)

    Bot API 5.0 (November 4, 2020)

    βž• Added

    • The method ITelegramBotClient.CreateChatInviteLinkAsync
    • The method ITelegramBotClient.EditChatInviteLinkAsync
    • The method ITelegramBotClient.RevokeChatInviteLinkAsync
    • Optional parameter revokeMessages to ITelegramBotClient.KickChatMemberAsync
    • Optional parameters canManageChat, canManageVoiceChats to ITelegramBotClient.KickChatMemberAsync
    • Property RevokeMessages to KickChatMemberRequest
    • Properties CanManageChat, CanManageVoiceChats to PromoteChatMemberRequest
    • Properties CanManageChat, CanManageVoiceChats to ChatMember
    • Properties MessageAutoDeleteTimerChanged, VoiceChatStarted, VoiceChatEnded, VoiceChatParticipantsInvited to Message
    • ⚑️ Properties MyChatMember and ChatMember to Update
    • ⚑️ Types CreateChatInviteLinkRequest, EditChatInviteLinkRequest, RevokeChatInviteLinkRequest, ChatInviteLink, ChatMemberUpdated, MessageAutoDeleteTimerChanged, VoiceChatEnded, VoiceChatParticipantsInvited, VoiceChatStarted
    • πŸ†• New enum value Bowling for Emoji
    • πŸ†• New enum values MessageAutoDeleteTimerChanged, ProximityAlertTriggered, VoiceChatStarted, VoiceChatEnded, VoiceChatParticipantsInvited for MessageType
    • πŸ†• New enum values MyChatMember, ChatMember for UpdateType
    • Delegate AsyncEventHandler<T>
    • Methods:
      • ITelegramBotClient.LogOutAsync
      • ITelegramBotClient.CloseAsync
      • ITelegramBotClient.CopyMessageAsync
      • ITelegramBotClient.UnpinAllChatMessages
    • Optional parameter ipAddress to ITelegramBotClient.SetWebhookAsync
    • ⚑️ Optional parameter dropPendingUpdates to ITelegramBotClient.SetWebhookAsync, ITelegramBotClient.DeleteWebhookAsync
    • Optional parameter allowSendingWithoutReply to the methods SendTextMessageAsync, SendPhotoAsync, SendVideoAsync, SendAnimationAsync, SendAudioAsync, SendDocumentAsync, SendStickerAsync, SendVideoNoteAsync, SendVoiceAsync, SendLocationAsync, SendVenueAsync, SendContactAsync, SendPollAsync, SendDiceAsync, SendInvoiceAsync, SendGameAsync, SendMediaGroupAsync
    • Optional parameter captionEntities to SendTextMessageAsync, SendPhotoAsync, SendVideoAsync, SendAnimationAsync, SendAudioAsync, SendDocumentAsync, SendVoiceAsync, SendPollAsync, EditMessageTextAsync, EditMessageCaptionAsync
    • Optional parameter isAnonymous to ITelegramBotClient.PromoteChatMemberAsync
    • Optional parameter messageId to ITelegramBotClient.UnpinChatMessageAsync
    • Optional parameter onlyIfBanned to ITelegramBotClient.UnbanChatMemberAsync
    • Optional parameter disableContentTypeDetection to ITelegramBotClient.SendDocumentAsync
    • Optional parameter heading to ITelegramBotClient.SendLocationAsync, ITelegramBotClient.EditMessageLiveLocationAsync
    • Optional parameter proximityAlertRadius to ITelegramBotClient.SendLocationAsync, ITelegramBotClient.EditMessageLiveLocationAsync
    • Optional parameter horizontalAccuracy to ITelegramBotClient.SendLocationAsync, ITelegramBotClient.EditMessageLiveLocationAsync
    • Optional parameters googlePlaceId, googlePlaceType to ITelegramBotClient.SendVenueAsync
    • Property IpAddress to SetWebhookRequest, WebhookInfo
    • ⚑️ Property DropPendingUpdates to SetWebhookRequest, DeleteWebhookRequest
    • Property AllowSendingWithoutReply to SendMessageRequest, SendPhotoRequest, SendAudioRequest, SendDocumentRequest, SendStickerRequest, SendVideoRequest, SendAnimationRequest, SendVoiceRequest, SendVideoNoteRequest, SendMediaGroupRequest, SendLocationRequest, SendVenueRequest, SendContactRequest, SendPollRequest, SendDiceRequest, SendInvoiceRequest, SendGameRequest
    • Property CaptionEntities to InputMediaBase, InlineQueryResultPhoto, InlineQueryResultGif, InlineQueryResultMpeg4Gif, InlineQueryResultVideo, InlineQueryResultAudio, InlineQueryResultVoice, InlineQueryResultDocument, InlineQueryResultCachedPhoto, InlineQueryResultCachedGif, InlineQueryResultCachedMpeg4Gif, InlineQueryResultCachedVideo, InlineQueryResultCachedAudio, InlineQueryResultCachedVoice, InlineQueryResultCachedDocument
    • Property Entities to InputTextMessageContent
    • Properties SenderChat, AuthorSignature, ProximityAlertTriggered to Message
    • Properties Bio, LinkedChatId, Location to Chat
    • Property IsAnonymous to ChatMember, PromoteChatMemberRequest
    • Property LivePeriod to Location
    • Property ProximityAlertRadius to Location, InlineQueryResultLocation, InputLocationMessageContent, SendLocationRequest, EditMessageLiveLocationRequest, EditInlineMessageLiveLocationRequest
    • Property HorizontalAccuracy to Location, InlineQueryResultLocation, InputLocationMessageContent, SendLocationRequest, EditMessageLiveLocationRequest, EditInlineMessageLiveLocationRequest
    • Property Heading to Location, InlineQueryResultLocation, SendLocationRequest, EditMessageLiveLocationRequest, EditInlineMessageLiveLocationRequest
    • Property MessageId to PinChatMessageRequest
    • Property OnlyIfBanned to UnbanChatMemberRequest
    • Property FileName to Audio, Video
    • Property DisableContentTypeDetection to MakeRequestAsync, InputMediaDocument
    • Properties GooglePlaceId, GooglePlaceType to SendVenueRequest, Venue, InlineQueryResultVenue, InputVenueMessageContent
    • πŸ†• New enum values Football, SlotMachine for Emoji
    • Type ChatLocation
    • Type ProximityAlertTriggered
    • πŸ‘Œ Support for sending and receiving audio and document albums in the method SendMediaGroupAsync

    πŸ”„ Changed

    • Constructor in TelegramBotClient accepts base url for custom Bot API server as optional third parameter, it accepts only URL's with protocol, host and port parts, everything else is ignored
    • Marked constructor for TelegramBotClient accepting IWebProxy as obsolete
    • Property ITelegramBotClient.BotId to long?
    • Event MakingApiRequest renamed to OnMakingApiRequest and it's type is changed to AsyncEventHandler<ApiRequestEventArgs>
    • πŸ‘€ Event ApiResponseReceived renamed to OnApiResponseReceived and it's type is changed to AsyncEventHandler<ApiResponseEventArgs>
    • πŸ“„ Parameters order in following methods (to reflect official docs):
      • SetWebhookAsync, DeleteWebhookAsync, SendTextMessageAsync, SendPhotoAsync, SendAudioAsync, SendDocumentAsync, SendStickerAsync, SendVideoAsync, SendAnimationAsync, SendVoiceAsync, SendVideoNoteAsync, SendMediaGroupAsync, SendLocationAsync, SendVenueAsync, SendContactAsync, SendPollAsync, SendDiceAsync, KickChatMemberAsync, UnbanChatMemberAsync, PromoteChatMemberAsync, EditMessageTextAsync, EditMessageCaptionAsync, EditMessageLiveLocationAsync, SendInvoiceAsync, SendGameAsync
    • πŸ“¦ Polling inside the library is now considered obsolete. The code, related to polling will be removed. It is recommended to use Telegram.Bot.Extensions.Polling package instead.
      • These methods are now obsolete: StartReceiving, StopReceiving
      • These events are now obsolete: OnUpdate, OnMessage, OnMessageEdited, OnInlineQuery, OnInlineResultChosen, OnCallbackQuery, OnReceiveError, OnReceiveGeneralError
      • These fields are now obsolete: IsReceiving, MessageOffset
    • Error 429 Too Many Request is now handled by the client and is thrown as ApiRequestException

    ⚠ >⚠️ WARNING! ⚠️

    After one of the upcoming Bot API updates, some user identifiers will become bigger than 231 - 1 and it will be no longer possible to store them in a signed 32-bit integer type. User identifiers will have up to 52 significant bits, so a 64-bit integer or double-precision float type would still be safe for storing them. Please make sure that your code can correctly handle such user identifiers.

    πŸ›  Fixed

    • Incorrect property name ExplanationCaptionEntities -> ExplanationEntities in SendPollRequest

    βœ‚ Removed

    • Obsolete overload method ITelegramBotClient.DownloadFileAsync
    • Obsolete overload method ITelegramBotClient.SendMediaGroupAsync
    • Obsolete constructor for SendMediaGroupRequest
    • Obsolete constructor for InputMediaPhoto
    • Obsolete constructor for InputMediaVideo
    • Obsolete property AllMembersAreAdministrators from Chat
    • Obsolete property IsForwarded from Message
    • Obsolete value Animation from enum MessageType
  • v15.7.1 Changes

    June 18, 2020

    βž• Added

    • πŸ‘ Source Link support
    • πŸ— Fully deterministic build
  • v15.7.0 Changes

    June 13, 2020

    βž• Added

    • Enum member Emoji.Basketball
    • Property InlineQueryResultGif.ThumbMimeType
    • Property InlineQueryResultMpeg4Gif.ThumbMimeType
    • Property Message.ViaBot
  • v15.6.0 Changes

    May 30, 2020

    βž• Added

    • Enum Emoji
    • πŸ“Š Property Poll.Explanation
    • πŸ“Š Property Poll.ExplanationEntities
    • πŸ“Š Property Poll.OpenPeriod
    • πŸ“Š Property Poll.CloseDate
    • Property Dice.Emoji
    • Following optional properties to SendPollRequest:
      • Explanation
      • ExplanationParseMode
      • OpenPeriod
      • CloseDate
    • Optional property Emoji to SendDiceRequest

    πŸ”„ Changed

    • Following optional parameters to ITelegramBotClient.SendPollAsync:
      • explanation
      • explanationParseMode
      • openPeriod
      • closeDate
    • Optional parameter emoji to ITelegramBotClient.SendDiceAsync