Starting with version 21.x, changes are documented here:
https://telegrambots.github.io/book/migrate/Version-21.x.html
We keep this library updated to the latest version of Telegram Bot API.
See the latest changes to Bot API here
Bot API 7.0 (December 29, 2023)
Bot API 7.1 (February 16, 2024)
Bot API 7.2 (March 31, 2024)
Bot API 7.3 (May 6, 2024)
Bot Api 7.4 (May 28, 2024)
- API methods on
ITelegramBotClient
that accept request classes with parameters - Interface
IBusinessConnectable
- Property
string? BusinessConnectionId
to the following requests:SendMessageRequest
SendPhotoRequest
SendVideoRequest
SendAnimationRequest
SendAudioRequest
SendDocumentRequest
SendStickerRequest
SendVideoNoteRequest
SendVoiceRequest
SendLocationRequest
SendVenueRequest
SendContactRequest
SendPollRequest
SendDiceRequest
SendGameRequest
SendMediaGroupRequest
SendChatActionRequest
ReplaceStickerInSetRequest
GetUserChatBoostsRequest
- The following properties to class
Message
:SenderBusinessBot
BusinessConnectionId
IsFromOffline
TextQuote
SenderBoostCount
ReplyToStory
BoostAdded
LinkPreviewOptions
ExternalReply
Giveaway
GiveawayCreated
GiveawayWinners
GiveawayCompleted
- The following properties to class
Update
:BusinessConnection
BusinessMessage
EditedBusinessMessage
DeletedBusinessMessages
MessageReaction
MessageReactionCount
ChatBoost
RemovedChatBoost
- Members
MessageReaction
,MessageReactionCount
,BusinessConnection
,BusinessMessage
,EditedBusinessMessage
andDeletedBusinessMessages
to enumUpdateType
- The following requests:
GetBusinessConnectionRequest
UnpinAllGeneralForumTopicMessagesRequest
SetMessageReactionRequest
DeleteMessagesRequest
ForwardMessagesRequest
CopyMessagesRequest
- Properties
RequestTitle
,RequestUsername
andRequestPhoto
to classKeyboardButtonRequestChat
- Properties
RequestName
,RequestUsername
andRequestPhoto
to classKeyboardButtonRequestUsers
- Property
Format
to classInputSticker
- The classes
BusinessConnection
,BusinessOpeningHours
,BusinessOpeningHoursInterval
,BusinessIntro
,BusinessLocation
,BusinessMessagesDeleted
andSharedUser
- A class
Birthday
- Required property
StickerFormat Format
to classSetStickerSetThumbnailRequest
- Property
Users
to classUsersShared
- Properties
Title
,Username
andPhoto
to classChatShared
- Property
CanConnectToBusiness
to classUser
- Type
ChatFullRequest
which includes all the properties fromChat
- The classes
ReactionType
,ReactionTypeEmoji
andReactionTypeCustomEmoji
representing different types of reaction. - Enum
ReactionTypeKind
- Enum
ChatBoostSourceType
- The class
KnownReactionTypeEmoji
containing emojis available forReactionTypeEmoji
. - The classes
MessageReactionUpdated
,MessageReactionCountUpdated
andReactionCount
. - New methods
ITelegramBotClient.SetMessageReactionAsync
,ITelegramBotClient.GetUserChatBoostsAsync
,ITelegramBotClient.DeleteMessagesAsync
,ITelegramBotClient.ForwardMessagesAsync
andITelegramBotClient.CopyMessagesAsync
- The class
ExternalReplyInfo
containing information about a message that is replied to by the current message, but can be from another chat or forum topic. - The class
TextQuote
which contains the part of the replied message text or caption that is quoted in the current message. - The classes
ReplyParameters
andLinkPreviewOptions
. - New enum value
Blockquote
forMessageEntityType
. - The classes
ChatBoostAdded
,ChatBoostUpdated
andChatBoostRemoved
,ChatBoostSourcePremium
,ChatBoostSourceGiftCode
andChatBoostSourceGiveaway
- The class
Giveaway
,GiveawayCreated
,GiveawayWinners
andGiveawayCompleted
- Members
Giveaway
,GiveawayCreated
,GiveawayWinners
andGiveawayCompleted
to enumMessageType
- The Classes
MaybeInaccessibleMessage
andInaccessibleMessage
. - Classes
MessageOrigin
,MessageOriginUser
,MessageOriginHiddenUser
andMessageOriginChannel
- Enum
MessageOriginType
- Enum member
MessageType.BoostAdded
- Fields
Chat
andId
to typeStory
- Property
bool? ShowCaptionAboveMedia
to types:CopyMessageRequest
SendAnimationRequest
SendPhotoRequest
SendVideoRequest
EditMessageCaptionRequest
InlineQueryResultCachedGif
InlineQueryResultCachedMpeg4Gif
InlineQueryResultCachedPhoto
InlineQueryResultCachedVideo
InlineQueryResultGif
InlineQueryResultMpeg4Gif
InlineQueryResultPhoto
InlineQueryResultVideo
InputMediaAnimation
InputMediaPhoto
InputMediaVideo
Message
- Property
int? LivePeriod
to typesEditMessageLiveLocationRequest
andEditInlineMessageLiveLocationRequest
- Property
string? MessageEffectId
to types:SendLocationRequest
SendVenueRequest
SendAnimationRequest
SendAudioRequest
SendContactRequest
SendDiceRequest
SendDocumentRequest
SendMediaGroupRequest
SendMessageRequest
SendPhotoRequest
SendPollRequest
SendVideoNoteRequest
SendVideoRequest
SendVoiceRequest
SendGameRequest
SendStickerRequest
- Properties
ParseMode? QuestionParseMode
andIEnumerable<MessageEntity>? QuestionEntities
to typeSendPollRequest
- Request
RefundStarPaymentRequest
and the corresponding extensions methodITelegramBotClient.RefundStarPaymentAsync
accepting the request - Type
BackgroundFill
and it's inheritorsBackgroundFillSolid
,BackgroundFillGradient
andBackgroundFillFreeformGradient
- Type
BackgroundType
and it's inheritorsBackgroundTypeFill
,BackgroundTypeWallpaper
,BackgroundTypePattern
andBackgroundTypeChatTheme
- Enums
BackgroundFillKind
and ``BackgroundTypeKind` - Type
ChatBackground
- Property
bool? ViaJoinRequest
to typeChatMemberUpdated
- Enum member
ExpandableBlockquote
to enumMessageEntityType
- Enum member
ChatBackgroundSet
to enumMessageType
- Type
InputPollOption
- Property
string? EffectId
to typeMessage
- Property
MessageEntity[]? QuestionEntities
to typePoll
- Property
MessageEntity[]? TextEntities
to typePollOptions
- All required properties without setters marked as required using
required
keyword - All non-default ctors are marked as obsolete in favor of the default ctors with object initialization syntax and required properties
- All API methods with positional parameters on
ITelegramBotClient
are marked obsolete - Class
UnpinAllGeneralForumTopicMessages
marked as obsolete - Replaced parameters
ReplyToMessageId
andAllowSendingWithoutReply
with the propertyReplyParameters
of typeReplyParameters
in the methodsITelegramBotClient.CopyMessageAsync
,ITelegramBotClient.SendMessageAsync
,ITelegramBotClient.SendPhotoAsync
,ITelegramBotClient.SendVideoAsync
,ITelegramBotClient.SendAnimationAsync
,ITelegramBotClient.SendAudioAsync
,ITelegramBotClient.SendDocumentAsync
,ITelegramBotClient.SendStickerAsync
,ITelegramBotClient.SendVideoNoteAsync
,ITelegramBotClient.SendVoiceAsync
,ITelegramBotClient.SendLocationAsync
,ITelegramBotClient.SendVenueAsync
,ITelegramBotClient.SendContactAsync
,ITelegramBotClient.SendPollAsync
,ITelegramBotClient.SendDiceAsync
,ITelegramBotClient.SendInvoiceAsync
,ITelegramBotClient.SendGameAsync
,ITelegramBotClient.SendMediaGroupAsync
- Replaced properties
ReplyToMessageId
andAllowSendingWithoutReply
with the propertyReplyParameters
of typeReplyParameters
in the request classesCopyMessageRequest
,SendMessageRequest
,SendPhotoRequest
,SendVideoRequest
,SendAnimationRequest
,SendAudioRequest
,SendDocumentRequest
,SendStickerRequest
,SendVideoNoteRequest
,SendVoiceRequest
,SendLocationRequest
,SendVenueRequest
,SendContactRequest
,SendPollRequest
,SendDiceRequest
,SendInvoiceRequest
,SendGameRequest
,SendMediaGroupRequest
- Replaced the parameter
DisableWebPagePreview
withLinkPreviewOptions
in the methodsSendTextMessageAsync
andEditMessageTextAsync
. - Replaced the property
DisableWebPagePreview
withLinkPreviewOptions
in the request classesSendMessageRequest
,EditMessageTextRequest
andEditInlineMessageTextRequest
. - Replaced the property disable_web_page_preview with
DisableWebPagePreview
in the classInputTextMessageContent
. - Renamed the class
KeyboardButtonRequestUser
toKeyboardButtonRequestUsers
and added the propertyMaxQuantity
to it. - Renamed the property
RequestUser
in the classKeyboardButton
toRequestUsers
. The old name will still work for backward compatibility. - Renamed the class
UserShared
toUsersShared
and changed the propertyUserId
toUserIds
. - Replaced the property
UserShared
in the class Message with the propertyUsersShared
. - Replaced enum member
MessageType.UserShared
withMessageType.UsersShared
- Fields
ForwardFrom
,ForwardFromChat
,ForwardFromMessageId
,ForwardSignature
,ForwardSenderName
andForwardDate
replaced with the fieldForwardOrigin
of typeMessageOrigin
in the classMessage
. - Type of the property
Message
of the classCallbackQuery
toMaybeInaccessibleMessage
- Type of the property
PinnedMessage
of the classMessage
toMaybeInaccessibleMessage
. - Property
StickerFormat
in the classCreateNewStickerSetRequest
is marked as obsolete - Property
UserIds
in the classUsersShared
is marked as obsolete GetChatRequest
and subsequently methodsITelegramBotClientExtensions.GetChatAsync
return typeChatFullInfo
instead ofChat
- Property
Options
type changed toIEnumerable<InputPollOption>
in typeSendPollRequest
and the corresponding extension methodITelegramBotClient.SendPollAsync
- Property
ProviderToken
is made optional, and it's type is made nullable in typesSendInvoiceToken
,CreateInvoiceLinkRequest
andInputInvoiceMessageContent
- All extension method on
ITelegramBotClient
returningTask<bool>
now return justTask
since they will never returnfalse
in case of an error and throw an exception instead
- Fields
ForwardFrom
,ForwardFromChat
,ForwardFromMessageId
,ForwardSignature
,ForwardSenderName
andForwardDate
from typeMessage
- Most optional properties are removed from the type
Chat
, all of them are now inChatFullInfo
type
Bot API 6.9 (September 22, 2023)
- The new administrator privileges
CanPostStories
,CanEditStories
andCanDeleteStories
to the classesChatMemberAdministrator
andChatAdministratorRights
. - The parameters
CanPostStories
,CanEditStories
andCanDeleteStories
to the methodITelegramBotClient.PromoteChatMemberAsync
andPromoteChatMemberRequest
.Currently, bots have no use for these privileges besides assigning them to other administrators. - The properties
FromRequest
andFromAttachmentMenu
to the classWriteAccessAllowed
.
Bot API 6.8 (August 18, 2023)
- Type
Story
. - Member
Story
to the enumMessageType
- Property
Story? Story
to the classMessage
. Currently, it holds no information. - Property
Chat? VoterChat
to thePollAnswer
class. For backward compatibility, the field user in such objects will contain the user136817688
(@Channel_Bot
). - Property
DateTime? EmojiStatusExpirationDate
to theChat
class. - New request related to topics:
UnpinAllGeneralForumTopicMessages
- New method related to topics:
ITelegramBotClient.UnpinAllGeneralForumTopicMessagesAsync
- Property
User? User
in thePollAnswer
class is optional now.
Bot API 6.7 (April 21, 2023)
Bot API 6.6 (March 9, 2023)
- Type
InlineQueryResultsButton
- Type
SwitchInlineQueryChosenChat
- Type
BotName
- Property
WebAppName
to the classWriteAccessAllowed
- Property
SwitchInlineQueryChosenChat
to the classInlineKeyboardButton
- Property
ViaChatFolderInviteLink
to the classChatMemberUpdated
- Static method
InlineKeyboardButton.WithSwitchInlineQueryChosenChat
- Requests related to bot's name:
SetMyNameRequest
GetMyNameRequest
- Methods related to bot's name:
ITelegramBotClient.SetMyNameAsync
ITelegramBotClient.GetMyNameAsync
- New requests related to description:
GetMyDescriptionRequest
SetMyDescriptionRequest
- New requests related to short description:
GetMyShortDescriptionRequest
SetMyShortDescriptionRequest
- New requests related to stickers:
DeleteStickerSetRequest
SetCustomEmojiStickerSetThumbnailRequest
SetStickerEmojiListRequest
SetStickerKeywordsRequest
SetStickerMaskPositionRequest
SetStickerSetThumbnailRequest
SetStickerSetTitleRequest
- New methods related to description:
ITelegramBotClient.SetMyDescriptionAsync
ITelegramBotClient.GetMyDescriptionAsync
- New methods related to short description:
ITelegramBotClient.SetMyShortDescriptionAsync
ITelegramBotClient.GetMyShortDescriptionAsync
- New methods related to stickers:
ITelegramBotClient.DeleteStickerSetAsync
ITelegramBotClient.SetCustomEmojiStickerSetThumbnailAsync
ITelegramBotClient.SetStickerEmojiListAsync
ITelegramBotClient.SetStickerKeywordsAsync
ITelegramBotClient.SetStickerMaskPositionAsync
ITelegramBotClient.SetStickerSetThumbnailAsync
ITelegramBotClient.SetStickerSetTitleAsync
- Enum
StickerFormat
- Type
BotDescription
- Type
BotShortDescription
- Type
InputSticker
- Added property
string? Emoji
to classSendStickerRequest
- Added property
bool? NeedsRepainting
to the following classes:CreateNewStickerSetRequest
Sticker
- Added property
IEnumerable<InputSticker> Stickers
to classCreateNewStickerSetRequest
- Added property
StickerFormat
to classCreateNewStickerSetRequest
- Added property
InputSticker Stickers
to classAddStickerToSetRequest
- Replace the parameters
switchPmText
andswitchPmParameter
of the methodAnswerInlineQueryAsync
with the parameterbutton
of typeInlineQueryResultsButton
. - Replace the properties
SwitchPmText
andSwitchPmParameter
of the classAnswerInlineQueryRequest
with the propertyButton
of typeInlineQueryResultsButton
. - Class
SetStickerSetThumbRequest
renamed toSetStickerSetThumbnailRequest
- Class
CreateNewStickerSetRequest
is no longer abstract - Class
AddStickerToSetRequest
is no longer abstract - Method
ITelegramBotClient.SetStickerSetThumbAsync
renamed toITelegramBotClient.SetStickerSetThumbnailAsync
- Properties
PngSticker
,TgsSticker
,WebmSticker
,Emojis
,MaskPostion
in classAddStickerToSetRequest
replaced withSticker
on TypeInputSticker
- Properties
PngSticker
,TgsSticker
,WebmSticker
,Emojis
,MaskPostion
in classCreateNewStickerSetRequest
replaced withStickers
on TypeIEnumerable<InputSticker>
- Renamed property
Thumb
toThumbnail
to the following Types:Animation
Audio
Document
Sticker
Video
VideoNote
InputMediaAnimation
InputMediaAudio
InputMediaDocument
InputMediaVideo
StickerSet
- Renamed property
Thumb
toThumbnail
in the following classes:SendAnimationRequest
SendAudioRequest
SendDocumentRequest
SendVideoRequest
SendVideoNoteRequest
- Renamed properties
ThumbUrl
,ThumbWidth
,ThumbHeight
toThumbnailUrl
,ThumbnailWidth
,ThumbnailHeight
in the following Types:InlineQueryResultArticle
InlineQueryResultContact
InlineQueryResultDocument
InlineQueryResultLocation
InlineQueryResultVenue
- Renamed property
ThumbUrl
toThumbnailUrl
in the following Types:InlineQueryResultPhoto
InlineQueryResultVideo
- Renamed properties
ThumbUrl
,ThumbMimeType
toThumbnailUrl
,ThumbnailMimeType
in the following Types:InlineQueryResultGif
InlineQueryResultMpeg4Gif
- Type of property
Sticker
changed fromstring
toInputFileId
in the following classes:SetStickerPositionInSetRequest
DeleteStickerFromSetRequest
- Stickers tests
- Class
AddAnimatedStickerToSetRequest
- Class
AddStaticStickerToSetRequest
- Class
AddVideoStickerToSetRequest
- Class
CreateNewAnimatedStickerSetRequest
- Class
CreateNewStaticStickerSetRequest
- Class
CreateNewVideoStickerSetRequest
- Method
ITelegramBotClient.AddAnimatedStickerToSetAsync
- Method
ITelegramBotClient.AddStaticStickerToSetAsync
- Method
ITelegramBotClient.AddVideoStickerToSetAsync
- Method
ITelegramBotClient.CreateNewAnimatedStickerSetAsync
- Method
ITelegramBotClient.CreateNewStaticStickerSetAsync
- Method
ITelegramBotClient.CreateNewVideoStickerSetAsync
- Properties
Emojis
,MaskPostion
in classesCreateNewStickerSetRequest
,AddStickerToSetRequest
Bot API 6.5 (February 3, 2023)
- Types
KeyboardButtonRequestUser
andKeyboardButtonRequestChat
- Properties
RequestUser
andRequestChat
to the typeKeyboardButton
- Static methods
KeyboardButton.WithRequestUser
andKeyboardButton.WithRequestChat
- Types
UserShared
andChatShared
- Properties
UserShared
andChatShared
to the typeMessage
- Members
UserShared
andChatShared
to the enumMessageType
- Following properties to the types
ChatMemberRestricted
andChatPermissions
:CanSendAudios
CanSendDocuments
CanSendPhotos
CanSendVideos
CanSendVideoNotes
CanSendVoiceNotes
- Property
UseIndependentChatPermissions
to the typesRestrictChatMemberRequest
andSetChatPermissionsRequest
- Optional parameter
useIndependentChatPermissions
to the methodsITelegramBotClient.RestrictChatMemberAsync
andITelegramBotClient.SetChatPermissionsAsync
- Property
UserChatId
to the typeChatJoinRequest
- Properties
CanSendMediaMessages
from the typesChatMemberRestricted
andChatPermissions
- Obsolete types
GetChatMembersCountRequest
,KickChatMemberRequest
,VoiceChatEnded
,VoiceChatParticipantsInvited
,VoiceChatScheduled
,VoiceChatStarted
. - Obsolete methods
ITelegramBotClient.KickChatMemberAsync
,ITelegramBotClient.GetChatMembersCountAsync
. - Obsolete properties
CanManageVoiceChat
fromPromoteChatMemberRequest
,CanManageVoiceChats
fromChatMember
.
Bot API 6.4 (December 30, 2022)
- New requests related to topics:
CloseGeneralForumTopicRequest
EditGeneralForumTopicRequest
ReopenGeneralForumTopicRequest
HideGeneralForumTopicRequest
UnhideGeneralForumTopicRequest
- New methods related to topics:
ITelegramBotClient.CloseGeneralForumTopicAsync
ITelegramBotClient.EditGeneralForumTopicAsync
ITelegramBotClient.ReopenGeneralForumTopicAsync
ITelegramBotClient.HideGeneralForumTopicAsync
ITelegramBotClient.UnhideGeneralForumTopicAsync
- Following properties to type
Chat
:bool? IsForum
string[]? ActiveUsernames
- Optional property
HasSpoiler
- Added property
bool? HasSpoiler
to the following classes:SendAnimationRequest
SendVideoRequest
SendPhotoRequest
InputMediaAnimation
InputMediaPhoto
InputMediaVideo
- Added following properties to class
Message
:HasMediaSpoiler
WriteAccessAllowed
ForumTopicEdited
GeneralForumTopicHidden
GeneralForumTopicUnhidden
- Property
IsPersistent
to classReplyKeyboardMarkup
- Types
ForumTopicEdited
,GeneralForumTopicHidden
,GeneralForumTopicUnhidden
,WriteAccessAllowed
- Property
int? MessageThreadId
to classSendChatActionRequest
- Properties
HasAggressiveAntiSpamEnabled
andHasHiddenMembers
to classChat
- Enum members
ForumTopicEdited
,GeneralForumTopicHidden
,GeneralForumTopicUnhidden
,WriteAccessAllowed
to enumMessageType
,
- Properties
EditForumTopicRequest.Name
andEditForumTopicRequest.IconCustomEmojiId
are made nullable - Added setters to properties
EditForumTopicRequest.Name
andEditForumTopicRequest.IconCustomEmojiId
- Parameters
name
andiconCustomEmojiId
and ctor ofEditForumTopicRequest
are made nullable and optional - Added optional parameter
bool? hasSpoiler
to the following methodsITelegramBotClient.SendAnimationAsync
ITelegramBotClient.SendVideoAsync
ITelegramBotClient.SendPhotoAsync
- Added optional parameter
int? messageThreadId
to methodITelegramBotClient.SendAnimationRequest
- Parameters
name
andiconCustomEmojiId
in methodITelegramBotClient.EditForumTopicAsync
are made nullable and optional
Bot API 6.1 (June 20, 2022)
Bot API 6.2 (August 12, 2022)
Bot API 6.3 (November 5, 2022)
- .NET 6 to targeted frameworks
- Following topic releated types:
Color
to represent color of topicsForumTopic
ForumTopicClosed
ForumTopicCreated
ForumTopicReopened
- New requests for managing topics:
CloseForumTopicRequest
CreateForumTopicRequest
DeleteForumTopicRequest
EditForumTopicRequest
ReopenForumTopicRequest
UnpinAllForumTopicMessagesRequest
- Property
MessageThreadId
to following requestsSendMessageRequest
SendPhotoRequest
SendVideoRequest
SendAnimationRequest
SendAudioRequest
SendDocumentRequest
SendStickerRequest
SendVideoNoteRequest
SendVoiceRequest
SendLocationRequest
SendVenueRequest
SendContactRequest
SendPollRequest
SendDiceRequest
SendInvoiceRequest
SendGameRequest
SendMediaGroupRequest
CopyMessageRequest
ForwardMessageRequest
- Following properties to type
Chat
:bool? IsForum
string[]? ActiveUsernames
string? EmojiStatusCustomEmojiId
bool? HasRestrictedVoiceAndVideoMessages
- Property
bool? CanManageTopics
to following types:ChatAdministratorRights
ChatPermissions
ChatMemberOwner
ChatMemberRestricted
PromoteChatMemberRequest
- Following enum members to
MessageType
:ForumTopicCreated
ForumTopicClosed
ForumTopicReopened
Animation
- Following properties to type
Message
:int? MessageThreadId
bool? IsTopicMessage
ForumTopicCreated? ForumTopicCreated
ForumTopicClosed? ForumTopicClosed
ForumTopicClosed? ForumTopicClosed
- Enum member
CustomEmoji
toMessageEntityType
- Property
CustomEmojiId
toMessageEntity
- Extension method
GetCustomEmojiStickersAsync
- Request
GetCustomEmojiStickersRequest
- Enum
StickerType
- Properties
Type
andCustomEmojiId
toSticker
- Property
StickerType
toStickerSet
- Property
StickerType
toCreateNewStickerSetRequest
- Parameter
stickerType
toCreateNew*StickerSetAsync
extension methods - Property
HasRestrictedVoiceAndVideoMessages
toChat
- Properties
JoinToSendMessages
,JoinByRequest
toChat
- Properties
IsPremium
,AddedToAttachmentMenu
toUser
- Property
PremiumAnimation
toSticker
- Property
SecretToken
toSetWebhookRequest
- Parameter
secretToken
toSetWebhookAsync
- Request
CreateInvoiceLinkRequest
- Method
CreateInvoiceLinkAsync
- Constructors in following requests accept
IInputFile
or inheritors instead ofAddAnimatedStickerToSetRequest
AddStaticStickerToSetRequest
AddVideoStickerToSetRequest
CreateNewAnimatedStickerSetRequest
CreateNewStaticStickerSetRequest
CreateNewVideoStickerSetRequest
- Added optional parameter
int? messageThreadId
to following methods:ITelegramBotClient.SendTextMessageAsync
ITelegramBotClient.SendPhotoAsync
ITelegramBotClient.SendVideoAsync
ITelegramBotClient.SendAnimationAsync
ITelegramBotClient.SendAudioAsync
ITelegramBotClient.SendDocumentAsync
ITelegramBotClient.SendStickerAsync
ITelegramBotClient.SendVideoNoteAsync
ITelegramBotClient.SendVoiceAsync
ITelegramBotClient.SendLocationAsync
ITelegramBotClient.SendVenueAsync
ITelegramBotClient.SendContactAsync
ITelegramBotClient.SendPollAsync
ITelegramBotClient.SendDiceAsync
ITelegramBotClient.SendInvoiceAsync
ITelegramBotClient.SendGameAsync
ITelegramBotClient.SendMediaGroupAsync
ITelegramBotClient.CopyMessageAsync
ITelegramBotClient.ForwardMessageAsync
- Added optional parameter
bool? canManageTopic
to methodITelegramBotClient.PromoteChatMemberAsync
- Property 'Message.Type' returns
MessageType.Animation
when amessage
containsAnimation
- Implicit conversion from
ChatId
tostring
- .NET Core 3.1 from targeted frameworks
- Property
ContainsMasks
fromStickerSet
- Property
ContainsMasks
fromCreateNewStickerSetRequest
- Parameter
containsMasks
fromCreateNew*StickerSetAsync
extension methods
Bot API 6.0 (April 16, 2022)
- Package
Telegram.Bot.Extensions.Polling
is merged in the main package - Type
TelegramBotClientOptions
- Types
WebAppInfo
,SentWebAppMessage
,WebAppData
,MenuButton
,MenuButtonCommands
,MenuButtonWebApp
,MenuButtonDefault
,ChatAdministratorRights
- Requests
AnswerWebAppQueryRequest
,SetChatMenuButtonRequest
,GetChatMenuButtonRequest
,SetMyDefaultAdministratorRightsRequest
,GetMyDefaultAdministratorRightsRequest
- Properties
WebAppInfo KeyboardButton.WebApp
,WebAppInfo InlineKeyboardButton.WebApp
- Property
DateTime? WebHookInfo.LastSynchronizationErrorDate
- Static methods
KeyboardButton.WithWebApp
,InlineKeyboardButton.WithWebApp
- Properties
VideoChatScheduled
,VideoChatStarted
,VideoChatEnded
,VideoChatParticipantsInvited
andWebAppData
in typeMessage
- Enum members
VideoChatScheduled
,VideoChatStarted
,VideoChatEnded
, andVideoChatParticipantsInvited
in typeMessageType
- Property
bool ITelegramBotClient.LocalBotServer
TelegramBotClient
constructor that accepts an instanceTelegramBotClientOptions
andHttpClient
- Renamed properties
ChatMemberAdministrator.CanManageVoiceChats
,PromoteChatMemberRequest.CanManageVoiceChats
toChatMemberAdministrator.CanManageVideoChats
andPromoteChatMemberRequest.CanManageVideoChats
- Removed
baseUrl
parameter from constructor inTelegramBotClient
that accepts a token - Type of property
FileBase.FileSize
changed fromint?
tolong?
- Argument
protectContent
in methodTelegramBotClientExtensions.ForwardMessageAsync
is passed to the corresponding request
- Enum members
VoiceChatScheduled
,VoiceChatStarted
,VoiceChatEnded
, andVoiceChatParticipantsInvited
in typeMessageType
- Properties
VoiceChatScheduled
,VoiceChatStarted
,VoiceChatEnded
andVoiceChatParticipantsInvited
in typeMessage
- Property
PinChatMessageRequest.ProtectedContent
Bot API 5.7 (January 31, 2022)
Bot API 5.6 (December 30, 2021)
Bot API 5.5 (December 7, 2021)
ApiRequestEventArgs
has full request information
- Requests
CreateNewVideoStickerSetRequest
,AddVideoStickerToSetRequest
,BanChatSenderChatRequest
,UnbanChatSenderChatRequest
- Extension methods
TelegramBotClientExtensions.CreateNewVideoStickerSetAsync
,TelegramBotClientExtensions.AddVideoStickerToSetAsync
,TelegramBotClientExtensions.BanChatSenderChatRequestAsync
,TelegramBotClientExtensions.UnbanChatSenderChatRequestAsync
- Property
int? MessageAutoDeleteTime
to classChat
- Property
bool? HasPrivateForwards
to classChat
- Property
bool? HasProtectedContent
to classChat
- Property
int? MessageAutoDeleteTime
to classMessage
- Property
bool? IsAutomaticForward
to classMessage
- Property
bool? HasProtectedContent
to classMessage
- Property
bool? ProtectContent
to following requests:SendLocationRequest
SendVenueRequest
CopyMessageRequest
ForwardMessageRequest
SendAnimationRequest
SendAudioRequest
SendContactRequest
SendDiceRequest
SendDocumentRequest
SendMediaGroupRequest
SendMessageRequest
SendPhotoRequest
SendPollRequest
SendVideoNoteRequest
SendVideoRequest
SendVoiceRequest
- Property
IsVideo
to classSticker
- Property
IsVideo
to classStickerSet
- Parameter
bool? protectContent = default
to following methods:TelegramBotExtensions.SendLocationRequestAsync
TelegramBotExtensions.SendVenueRequestAsync
TelegramBotExtensions.CopyMessageRequestAsync
TelegramBotExtensions.ForwardMessageRequestAsync
TelegramBotExtensions.SendAnimationRequestAsync
TelegramBotExtensions.SendAudioRequestAsync
TelegramBotExtensions.SendContactRequestAsync
TelegramBotExtensions.SendDiceRequestAsync
TelegramBotExtensions.SendDocumentRequestAsync
TelegramBotExtensions.SendMediaGroupRequestAsync
TelegramBotExtensions.SendMessageRequestAsync
TelegramBotExtensions.SendPhotoRequestAsync
TelegramBotExtensions.SendPollRequestAsync
TelegramBotExtensions.SendVideoNoteRequestAsync
TelegramBotExtensions.SendVideoRequestAsync
TelegramBotExtensions.SendVoiceRequestAsync
- Enum member
MessageEntityType.Spoiler
- Method
TelegramBotClient.MakeRequestAsync
is made virtual - Class
CreateNewStickerSetRequest
renamed toCreateNewStaticStickerSetRequest
- Class
CreateNewStickerSetRequest
is made abstract - Class
AddStickerToSetRequest
renamed toAddStaticStickerToSetRequest
- Class
AddStickerToSetRequest
is made abstract - Method
TelegramBotClientExtensions.AddStickerToSetAsync
is renamed toAddStaticStickerToSetAsync
- Method
TelegramBotClientExtensions.CreateNewStaticStickerSetAsync
is renamed toCreateNewStaticStickerSetAsync
DeleteWebhookRequest
parameters are now properly serializing- Added missing json attribute to property
ChatInviteLink.Name
- Parameter
untilDate
is removed fromTelegramBotClientExtensions.BanChatSenderChatAsync
- Property
UntilDate
is removed fromBanChatSenderChatRequest
- v17 release
- Added missing JSON attributes on types
ApproveChatJoinRequest
andDeclineChatJoinRequest
- Types
ApproveChatJoinRequest
andDeclineChatJoinRequest
implementIChatTargetable
interface
Bot API 5.4 (November 5, 2021)
- Request
ApproveChatJoinRequest
- Request
DeclineChatJoinRequest
- Property
bool? CreateChatInviteLinkRequest.CreatesJoinRequest
- Property
string? CreateChatInviteLinkRequest.Name
- Property
bool? EditChatInviteLinkRequest.CreatesJoinRequest
- Property
string? EditChatInviteLinkRequest.Name
- Property
bool ChatInviteLink.CreatesJoinRequest
- Property
int? ChatInviteLink.PendingJoinRequestCount
- Type
ChatJoinRequest
- Property
ChatJoinRequest Update.ChatJoinRequest
- Enum member
ChatAction.ChooseSticker
- Extension method
TelegramBotClientExtensions.ApproveChatJoinRequestAsync
- Extension method
TelegramBotClientExtensions.DeclineChatJoinRequestAsync
- Extension method
TelegramBotClientExtensions.EditChatInviteLinkAsync
:- Added parameters
string? name
andbool? createsJoinRequest
- Added parameters
- Extension method
TelegramBotClientExtensions.CreateChatInviteLinkAsync
:- Added parameters
string? name
andbool? createsJoinRequest
- Added parameters
- Fields
ChatId.Identifier
andChatId.Username
changed into get-only properties
- Method
GetInfoAndDownloadFileAsync
moved into static classTelegramBotClientExtensions
as an extension method - Symbols are always include in the package
- Interface
IExceptionsParser
- Type
ApiResponse
- Property
ITelegramBotClient.ExceptionsParser
- Parameter name
ChatLocation.String
replaced withChatLocation.Address
ITelegramBotClient.SendDocumentAsync
passed wrong value intoDisableContentTypeDetection
property
Bot API 5.3 (June 25, 2021)
- Enum
InputMediaType
- Type
BanCommandScope
- 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 acceptsInputMedia
- Protected constructor
InputTelegramFile
that acceptsFileType
- Property
string ForceReplyMarkup.InputFieldPlaceholder { get; set; }
- Property
string ReplyKeyboardMarkup.InputFieldPlaceholder { get; set; }
- Enum
EncryptedPassportElementType
- Interface
IChatTargetable
- Interface
IUserTargetable
- Type
InlineQueryResultBase
renamed toInlineQueryResult
- Type
ChatMember
is made abstract - Property
ChatMember.Status
is made abstract - 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 of0
.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 parametersBotCommandScope scope
andstring language
- Changed parameters in
ITelegramBotClient.SetMyCommandsAsync
: added parametersBotCommandScope scope
andstring language
- Type of property
IInputMedia.Type
changed fromstring
toInputMediaType
- Property
InputFileStream.FileType
is no longer virtual - Constructor of type
InputFileStream
that accepts bothStream content
andstring fileName
:filename
parameter is made optional - Constructor of type
InputOnlineFile
that accepts bothStream content
andstring fileName
:filename
parameter is made optional - Constructor of type
InputTelegramFile
that accepts bothStream content
andstring 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 fromstring
toEncryptedPassportElementType
- All optional types are made nullable be it value or reference types
- Public setter
ChatMember.Status
- Enum member
ParseMode.Default
- Enum members
ChatAction.RecordAudio
andChatAction.UploadAudio
- Protected setter from property
InputFileStream.Content
- Constructor of type
InputFileStream
that accepts onlyStream
- Constructor of type
InputOnlineFile
that accepts onlyStream
- Constructor of type
InputTelegramFile
that accepts onlyStream
- 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
Animation
inherits fromFileBase
- All custom exceptions are marked as obsolete
Bot API 5.2 (April 26, 2021)
- Property
VoiceChatScheduled
to the classMessage
. - Types
VoiceChatScheduled
,InputInvoiceMessageContent
- New
MessageType
value:VoiceChatScheduled
- Property
ChatType
to the classInlineQuery
. - New
ChatType
value:Sender
- New
ChatAction
values:RecordVoice
,UploadVoice
- Optional parameters
maxTipAmount
andsuggestedTipAmounts
toITelegramBotClient.SendInvoiceAsync
- Properties
MaxTipAmount
andSuggestedTipAmounts
toSendInvoiceRequest
- Parameter order in
ITelegramBotClient.UnpinChatMessageAsync
- Parameter
startParameter
of the methodITelegramBotClient.SendInvoiceAsync
became optional ChatAction
valuesRecordAudio
andUploadAudio
marked as obsoleteReplyToMessageId
andAllowSendingWithoutReply
inIReplyMessage
,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 fieldFileUniqueId
in objects of the typePhotoSize
and of the fieldsSmallFileUniqueId
andBigFileUniqueId
in objects of the typeChatPhoto
.
⚠️ 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 2^31 - 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.
- Align property order and description with official docs
- Parameter
startParameter
fromSendInvoiceRequest
constructor
Bot API 5.1 (March 9, 2021)
Bot API 5.0 (November 4, 2020)
- The method
ITelegramBotClient.CreateChatInviteLinkAsync
- The method
ITelegramBotClient.EditChatInviteLinkAsync
- The method
ITelegramBotClient.RevokeChatInviteLinkAsync
- Optional parameter
revokeMessages
toITelegramBotClient.KickChatMemberAsync
- Optional parameters
canManageChat
,canManageVoiceChats
toITelegramBotClient.KickChatMemberAsync
- Property
RevokeMessages
toKickChatMemberRequest
- Properties
CanManageChat
,CanManageVoiceChats
toPromoteChatMemberRequest
- Properties
CanManageChat
,CanManageVoiceChats
toChatMember
- Properties
MessageAutoDeleteTimerChanged
,VoiceChatStarted
,VoiceChatEnded
,VoiceChatParticipantsInvited
toMessage
- Properties
MyChatMember
andChatMember
toUpdate
- Types
CreateChatInviteLinkRequest
,EditChatInviteLinkRequest
,RevokeChatInviteLinkRequest
,ChatInviteLink
,ChatMemberUpdated
,MessageAutoDeleteTimerChanged
,VoiceChatEnded
,VoiceChatParticipantsInvited
,VoiceChatStarted
- New enum value
Bowling
forEmoji
- New enum values
MessageAutoDeleteTimerChanged
,ProximityAlertTriggered
,VoiceChatStarted
,VoiceChatEnded
,VoiceChatParticipantsInvited
forMessageType
- New enum values
MyChatMember
,ChatMember
forUpdateType
- Delegate
AsyncEventHandler<T>
- Methods:
ITelegramBotClient.LogOutAsync
ITelegramBotClient.CloseAsync
ITelegramBotClient.CopyMessageAsync
ITelegramBotClient.UnpinAllChatMessages
- Optional parameter
ipAddress
toITelegramBotClient.SetWebhookAsync
- Optional parameter
dropPendingUpdates
toITelegramBotClient.SetWebhookAsync
,ITelegramBotClient.DeleteWebhookAsync
- Optional parameter
allowSendingWithoutReply
to the methodsSendTextMessageAsync
,SendPhotoAsync
,SendVideoAsync
,SendAnimationAsync
,SendAudioAsync
,SendDocumentAsync
,SendStickerAsync
,SendVideoNoteAsync
,SendVoiceAsync
,SendLocationAsync
,SendVenueAsync
,SendContactAsync
,SendPollAsync
,SendDiceAsync
,SendInvoiceAsync
,SendGameAsync
,SendMediaGroupAsync
- Optional parameter
captionEntities
toSendTextMessageAsync
,SendPhotoAsync
,SendVideoAsync
,SendAnimationAsync
,SendAudioAsync
,SendDocumentAsync
,SendVoiceAsync
,SendPollAsync
,EditMessageTextAsync
,EditMessageCaptionAsync
- Optional parameter
isAnonymous
toITelegramBotClient.PromoteChatMemberAsync
- Optional parameter
messageId
toITelegramBotClient.UnpinChatMessageAsync
- Optional parameter
onlyIfBanned
toITelegramBotClient.UnbanChatMemberAsync
- Optional parameter
disableContentTypeDetection
toITelegramBotClient.SendDocumentAsync
- Optional parameter
heading
toITelegramBotClient.SendLocationAsync
,ITelegramBotClient.EditMessageLiveLocationAsync
- Optional parameter
proximityAlertRadius
toITelegramBotClient.SendLocationAsync
,ITelegramBotClient.EditMessageLiveLocationAsync
- Optional parameter
horizontalAccuracy
toITelegramBotClient.SendLocationAsync
,ITelegramBotClient.EditMessageLiveLocationAsync
- Optional parameters
googlePlaceId
,googlePlaceType
toITelegramBotClient.SendVenueAsync
- Property
IpAddress
toSetWebhookRequest
,WebhookInfo
- Property
DropPendingUpdates
toSetWebhookRequest
,DeleteWebhookRequest
- Property
AllowSendingWithoutReply
toSendMessageRequest
,SendPhotoRequest
,SendAudioRequest
,SendDocumentRequest
,SendStickerRequest
,SendVideoRequest
,SendAnimationRequest
,SendVoiceRequest
,SendVideoNoteRequest
,SendMediaGroupRequest
,SendLocationRequest
,SendVenueRequest
,SendContactRequest
,SendPollRequest
,SendDiceRequest
,SendInvoiceRequest
,SendGameRequest
- Property
CaptionEntities
toInputMediaBase
,InlineQueryResultPhoto
,InlineQueryResultGif
,InlineQueryResultMpeg4Gif
,InlineQueryResultVideo
,InlineQueryResultAudio
,InlineQueryResultVoice
,InlineQueryResultDocument
,InlineQueryResultCachedPhoto
,InlineQueryResultCachedGif
,InlineQueryResultCachedMpeg4Gif
,InlineQueryResultCachedVideo
,InlineQueryResultCachedAudio
,InlineQueryResultCachedVoice
,InlineQueryResultCachedDocument
- Property
Entities
toInputTextMessageContent
- Properties
SenderChat
,AuthorSignature
,ProximityAlertTriggered
toMessage
- Properties
Bio
,LinkedChatId
,Location
toChat
- Property
IsAnonymous
toChatMember
,PromoteChatMemberRequest
- Property
LivePeriod
toLocation
- Property
ProximityAlertRadius
toLocation
,InlineQueryResultLocation
,InputLocationMessageContent
,SendLocationRequest
,EditMessageLiveLocationRequest
,EditInlineMessageLiveLocationRequest
- Property
HorizontalAccuracy
toLocation
,InlineQueryResultLocation
,InputLocationMessageContent
,SendLocationRequest
,EditMessageLiveLocationRequest
,EditInlineMessageLiveLocationRequest
- Property
Heading
toLocation
,InlineQueryResultLocation
,SendLocationRequest
,EditMessageLiveLocationRequest
,EditInlineMessageLiveLocationRequest
- Property
MessageId
toPinChatMessageRequest
- Property
OnlyIfBanned
toUnbanChatMemberRequest
- Property
FileName
toAudio
,Video
- Property
DisableContentTypeDetection
toMakeRequestAsync
,InputMediaDocument
- Properties
GooglePlaceId
,GooglePlaceType
toSendVenueRequest
,Venue
,InlineQueryResultVenue
,InputVenueMessageContent
- New enum values
Football
,SlotMachine
forEmoji
- Type
ChatLocation
- Type
ProximityAlertTriggered
- Support for sending and receiving audio and document albums in the method
SendMediaGroupAsync
- 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
acceptingIWebProxy
as obsolete - Property
ITelegramBotClient.BotId
tolong?
- Event
MakingApiRequest
renamed toOnMakingApiRequest
and it's type is changed toAsyncEventHandler<ApiRequestEventArgs>
- Event
ApiResponseReceived
renamed toOnApiResponseReceived
and it's type is changed toAsyncEventHandler<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
- These methods are now obsolete:
- Error
429 Too Many Request
is now handled by the client and is thrown asApiRequestException
⚠️ WARNING!⚠️ After one of the upcoming Bot API updates, some user identifiers will become bigger than 2^31 - 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.
- Incorrect property name
ExplanationCaptionEntities
->ExplanationEntities
inSendPollRequest
- 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
fromChat
- Obsolete property
IsForwarded
fromMessage
- Obsolete value
Animation
from enumMessageType
- Source Link support
- Fully deterministic build
- Enum member
Emoji.Basketball
- Property
InlineQueryResultGif.ThumbMimeType
- Property
InlineQueryResultMpeg4Gif.ThumbMimeType
- Property
Message.ViaBot
- 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
toSendDiceRequest
- Following optional parameters to
ITelegramBotClient.SendPollAsync
:explanation
explanationParseMode
openPeriod
closeDate
- Optional parameter
emoji
toITelegramBotClient.SendDiceAsync
- Implementation of
ITelegramBotClient.CreateNewAnimatedStickerSetAsync
- Requests
GetMyCommandsRequest
SetMyCommandsRequest
CreateNewAnimatedStickerSetRequest
AddNewAnimatedStickerToSetRequest
SendDiceRequest
SetStickerSetThumbRequest
- Methods:
ITelegramBotClient.SendDiceAsync
ITelegramBotClient.CreateNewAnimatedStickerSetAsync
ITelegramBotClient.AddNewAnimatedStickerToSetAsync
ITelegramBotClient.SetStickerSetThumbAsync
ITelegramBotClient.GetMyCommandsAsync
ITelegramBotClient.SetMyCommandsAsync
- Type
Dice
- Type
BotCommand
- Enum member
MessageType.Dice
- Property
Message.Dice
- Property
StickerSet.Thumb
- Property
SendInvoiceRequest.SendPhoneNumberToProvider
- Property
SendInvoiceRequest.SendEmailToProvider
- Optional parameter
sendPhoneNumberToProvider
to methodITelegramBotClient.SendInvoiceAsync
- Optional parameter
sendEmailToProvider
to methodITelegramBotClient.SendInvoiceAsync
- Type
KeyboardButtonPollType
- Static method
KeyboardButton.WithRequestPoll
- Type
PollAnswer
- Property
KeyboardButton.RequestPoll
- Enum
PollType
- Property
MessageEntity.Language
- Following properties to type
Poll
:bool? IsAnonymous
string Type
bool? AllowsMultipleAnswers
int? CorrectOptionId
- Following properties to type
SendPollRequest
:bool? IsAnonymous
string Type
bool? AllowsMultipleAnswers
int? CorrectOptionId
bool? IsClosed
- Property
Update.PollAnswer
- Enum member
UpdateType.PollAnswer
- Following properties to type
User
:bool? CanJoinGroups
bool? CanReadAllGroupMessages
bool? SupportsInlineQueries
- Method
ITelegramBotClient.SendPollAsync
, added following optional parameters:bool? isAnonymous
string type
bool? allowsMultipleAnswers
int? correctOptionId
bool? isClosed
- Method
User.Equals
takes into account new properties
- All base request classes use explicit opt-in serialization strategy
- All non Bot API properties in base request classes are annotated by
JsonIgnoreAttribute
- Type
ContactRequestException
is made obsolete due to Telegram changed it's error message
- A bug that prevented requests to be serialized when default
JsonSerializerSettings
were set
- Type
SetChatAdministratorCustomTitleRequest
- Method
ITelegramBotClient.SetChatAdministratorCustomTitleAsync
- Property
FileBase.FileUniqueId
- Property
Animation.FileUniqueId
- Property
ChatPhoto.BigFileUniqueId
- Property
ChatPhoto.SmallFileUniqueId
- Property
Chat.SlowModeDelay
- Property
ChatMember.CustomTitle
- Enum value
ParseMode.MarkdownV2
- Enum value
MessageEntityType.Underline
- Enum value
MessageEntityType.Strikethrough
- Property
RequestBase.IsWebhookResponse
- The client outputs
method
property in the resulting HTTP body with the value fromIRequest<T>.MethodName
whenRequestBase.IsWebhookResponse
is set to true - Constructor with
Uri
param forInputOnlineFile
(overloaded)
- Type
ChatPermissions
- Type
SetChatPermissionsRequest
- Property
Sticker.IsAnimated
- Property
StickerSet.IsAnimated
- Property
Chat.Permissions
- Property
ChatMember.CanSendPolls
- Individual permission properties in
RestrictChatMemberRequest
changed toPermissions
property of typeChatPermissions
- Individual permission parameters in
ITelegramBotClient.RestrictChatMemberAsync
changed to a single parameter of typeChatPermissions
- Marked
Chat.AllMembersAreAdministrators
as obsolete
- XML doc comments about caption maximum length
- Type
LoginUrl
- Property
Message.ReplyMarkup
- Property
InlineKeyboardButton.LoginUrl
- Method
InlineKeyboardButton.WithLoginUrl
- Type
Poll
- Type
PollOption
- Type
SendPollRequest
- Type
StopPollRequest
- Method
SendPollAsync
- Method
StopPollAsync
- Property
Update.Poll
- Property
Message.Poll
- Property
Message.ForwardSenderName
- Property
ChatMember.IsMember
- Enum value
UpdateType.Poll
- Enum value
MessageType.Poll
- Marked
InvalidQueryIdException
as obsolete
- Telegram Passport support
- Type
EncryptedCredentials
- Type
EncryptedPassportElement
- Type
PassportData
- Type
PassportFile
- Property
ITelegramBotClient.BotId
- Property
Message.PassportData
- Marked
DownloadFileAsync(string,CancellationToken)
obsolete
- Method
SendAnimationAsync
- Parameter
thumb
to methodSendAudioAsync
- Parameter
thumb
to methodSendDocumentAsync
- Parameter
thumb
to methodSendVideoAsync
- Parameter
thumb
to methodSendVideoNoteAsync
- Type
IChatMessage
- Type
IThumbMediaMessage
- Type
SendAnimationRequest
- Property
SendAudioRequest.Thumb
- Property
SendDocumentRequest.Thumb
- Property
SendVideoRequest.Thumb
- Property
SendVideoNoteRequest.Thumb
- Property
Audio.Thumb
- Parameter
vCard
to methodSendContactAsync
- Parameter
foursquareType
to methodSendVenueAsync
- Property
SendContactRequest.Vcard
- Property
SendVenueRequest.FoursquareType
- Property
InlineQueryResultContact.Vcard
- Property
InlineQueryResultVenue.FoursquareType
- Property
InputContactMessageContent.Vcard
- Property
InputVenueMessageContent.FoursquareType
- Property
Contact.Vcard
- Property
Venue.FoursquareType
- Enum value
MessageEntityType.Cashtag
- Marked
MessageType.Animation
as obsolete
- Partial support for Bot API v4.0
- Method
SendMediaGroupAsync
(overloaded) - Method
EditMessageMediaAsync
- Method
EditMessageMediaAsync
- Type
EditMessageMediaRequest
- Type
EditInlineMessageMediaRequest
- Type
InputMediaAudio
- Type
InputMediaDocument
- Type
InputMediaAnimation
- Type
IInputMedia
- Type
IAlbumInputMedia
- Type
IInputMediaThumb
- Property
Animation.Width
- Property
Animation.Height
- Property
Animation.Duration
- Enum member
MessageType.Animation
- Property
InputMediaVideo.Thumb
- Property
Message.Animation
- Constructor with required parameters for
InputMediaPhoto
(overloaded) - Constructor with required parameters for
InputMediaVideo
(overloaded) - Constructor with required parameters for
SendMediaGroupRequest
(overloaded)
- Serialization error of
InlineQueryResultDocument.Description
being required - Incorrect serialization of
InputMediaVideo
- Marked method
SendMediaGroupAsync
as obsolete. An overload is provided. - Marked parameterless constructor of
InputMediaPhoto
as obsolete. An overload is provided. - Marked parameterless constructor of
InputMediaVideo
as obsolete. An overload is provided.
- Property
ParseMode
to requests with a captionEditMessageCaptionRequest
EditInlineMessageCaptionRequest
- Parameter
parseMode
to methodITelegramBotClient.EditMessageCaptionAsync
- New enum member
MessageEntityType.PhoneNumber
- New enum member
MessageEntityType.Unknown
- Exception during deserialization of unknown message entity type
MakeRequestAsync
throwsApiRequestException
withErrorCode = HttpStatusCode.Unauthorized
andMessage = apiResponse.Description
("Unauthorized"), to be consistent with Telegram Bot APITelegramBotClient
ctor does not check API token format: Telegram Bot API does not provide token format specificationTestApiAsync
returnfalse
whenApiRequestException.ErrorCode == 401
(API Token is modified or recalled)- Stop catching user exceptions from event handlers
- Make
Message.IsForward
property obsolete
EditMessageTextAsync
passParseMode
to request
- Implicit cast of
IEnumerable<InlineKeyboardButton>[]
toInlineKeyboardMarkup
- Implicit cast of
InlineKeyboardButton[]
toInlineKeyboardMarkup
- Exception
InvalidGameShortNameException
- Exception
InvalidQueryIdException
- Made
callbackGame
parameter ofInlineKeyboardButton.WithCallBackGame
optional Newtonsoft.Json
updated to version11.0.2
- Assigning param
foursquareId
ofSendInvoiceAsync
method to its request - Access modifier of abstract class
BadRequestException
andForbiddenException
ctors toprotected
- Parameterless ctor of
InlineKeyboardMarkup
- Exception
BotBlockedException
- Exception
BotRestrictedException
- Exception
MissingParameterException
- Exception
NotEnoughRightsException
- Exception
WrongChatTypeException
- Property
Message.MediaGroupId
- Property
ICaptionInlineQueryResult.ParseMode
- Property
ParseMode
to inline query results with a captionInlineQueryResultPhoto
InlineQueryResultGif
InlineQueryResultCachedMpeg4Gif
InlineQueryResultVideo
InlineQueryResultAudio
InlineQueryResultVoice
InlineQueryResultDocument
InlineQueryResultCachedPhoto
InlineQueryResultCachedGif
InlineQueryResultCachedMpeg4Gif
InlineQueryResultCachedDocument
InlineQueryResultVideo
InlineQueryResultCachedVoice
InlineQueryResultCachedAudio
- Support for Bot API v3.6
- Override equality comparison for
User
type - Property
ParseMode
to file requests with a captionSendVideoRequest
SendPhotoRequest
SendAudioRequest
SendDocumentRequest
SendVoiceRequest
- Property
InputMediaBase.ParseMode
- Property
SendVideoRequest.SupportsStreaming
- Property
InputMediaVideo.SupportsStreaming
- Property
Message.ConnectedWebsite
- Parameter
parseMode
to methodsITelegramBotClient.SendVideoAsync
ITelegramBotClient.SendAudioAsync
ITelegramBotClient.SendPhotoAsync
ITelegramBotClient.SendDocumentAsync
ITelegramBotClient.SendVoiceAsync
- Parameter
supportsStreaming
to methodITelegramBotClient.SendVideoAsync
- New members to enum
MessageType
WebsiteConnected
ChatMembersAdded
ChatMemberLeft
ChatTitleChanged
ChatPhotoChanged
MessagePinned
ChatPhotoDeleted
GroupCreated
SupergroupCreated
ChannelCreated
MigratedToSupergroup
MigratedFromGroup
- Exception
MessageIsNotModifiedException
- Changed
InputMessageContent
to abstract classInputMessageContentBase
- Access modifier of parameterless ctors of all
InlineQueryResult
andInputMessageContent
types toprivate
- Renamed
InputVenueMessageContent.Name
toInputVenueMessageContent.Title
- Property
Message.Type
returns correct value after group chat migration
- Enum member
MessageType.Service
- Type
InvalidParameterException
- Type
FileBase
- Moved all types in namespace
Telegram.Bot.Types.InputMessageContents
to namespaceTelegram.Bot.Types.InlineQueryResults
- Value names of enums
MessageType
andUpdateType
- Property
File.Stream
- Property
FilePath
from TypesAudio
,Document
,PhotoSize
,Sticker
,Video
,VideoNote
, andVoice
- Property
Message.NewChatMember
- More
PaymentTests
cases - Type
IKeyboardButton
- Implicit cast of
string[]
toReplyKeyboardMarkup
- Implicit cast of
string[][]
toReplyKeyboardMarkup
- Inline query results
- Type
ICaptionInlineQueryResult
- Type
IInputMessageContentResult
- Type
ILocationInlineQueryResult
- Type
IThumbnailInlineQueryResult
- Type
IThumbnailUrlInlineQueryResult
- Type
ITitleInlineQueryResult
- Constructor with required parameters in
InlineQueryResult
and all derived classes - Property
InlineQueryResultVoice.Caption
- Type
- All keyboard button classes inherit
IKeyboardButton
interface - All keyboard buttons moved to namespace
Telegram.Bot.Types.ReplyMarkups.Buttons
- Renamed type
ReplyMarkup
toReplyMarkupBase
- Renamed type
ForceReply
toForceReplyMarkup
InlineQueryResult
to abstract
- All specific
KeyboardButton
types - All specific
InlineKeyboardButton
types - Implicit cast of
InlineKeyboardButton
toKeyboardButton
- Type
InlineQueryResultNew
- Type
InlineQueryResultCached
- Property
InlineQueryResult.Title
- Property
InlineQueryResult.InputMessageContent
- Property
InlineQueryResultAudio.FileId
- JSON serialization attribute
Required.Always
of propertyInlineQueryResultAudio.Duration
- Invalid default value for
SwitchInlineQueryCurrentChat
inInlineKeyboardSwitchInlineQueryCurrentChatButton
constructor
- Request classes
- Type
GetUpdatesRequest
- Type
SetWebhookRequest
- Type
DeleteWebhookRequest
- Type
GetWebhookInfoRequest
- Type
GetMeRequest
- Type
SendMessageRequest
- Type
ForwardMessageRequest
- Type
SendPhotoRequest
- Type
SendAudioRequest
- Type
SendDocumentRequest
- Type
SendVideoRequest
- Type
SendVoiceRequest
- Type
SendVideoNoteRequest
- Type
SendLocationRequest
- Type
EditMessageLiveLocationRequest
- Type
EditInlineMessageLiveLocationRequest
- Type
StopMessageLiveLocationRequest
- Type
StopInlineMessageLiveLocationRequest
- Type
SendVenueRequest
- Type
SendContactRequest
- Type
SendChatActionRequest
- Type
GetUserProfilePicturesRequest
- Type
KickChatMemberRequest
- Type
UnbanChatMemberRequest
- Type
RestrictChatMemberRequest
- Type
PromoteChatMemberRequest
- Type
ExportChatInviteLinkRequest
- Type
SetChatPhotoRequest
- Type
DeleteChatPhotoRequest
- Type
SetChatTitleRequest
- Type
SetChatDescriptionRequest
- Type
PinChatMessageRequest
- Type
UnpinChatMessageRequest
- Type
LeaveChatRequest
- Type
GetChatRequest
- Type
GetChatAdministratorsRequest
- Type
GetChatMembersCountRequest
- Type
GetChatMemberRequest
- Type
SetChatStickerSetRequest
- Type
DeleteChatStickerSetRequest
- Type
AnswerCallbackQueryRequest
- Type
EditMessageTextRequest
- Type
EditInlineMessageTextRequest
- Type
EditMessageCaptionRequest
- Type
EditInlineMessageCaptionRequest
- Type
EditMessageReplyMarkupRequest
- Type
EditInlineMessageReplyMarkupRequest
- Type
DeleteMessageRequest
- Type
SendStickerRequest
- Type
GetStickerSetRequest
- Type
SetStickerPositionInSetRequest
- Type
AnswerInlineQueryRequest
- Type
DeleteStickerFromSetRequest
- Type
AddStickerToSetRequest
- Type
CreateNewStickerSetRequest
- Type
SendInvoiceRequest
- Type
AnswerShippingQueryRequest
- Type
AnswerPreCheckoutQueryRequest
- Type
SendGameRequest
- Type
SetGameScoreRequest
- Type
SetInlineGameScoreRequest
- Type
GetGameHighScoresRequest
- Type
GetInlineGameHighScoresRequest
- Type
GetFileRequest
- Type
FileRequestBase
- Type
UploadStickerFileRequest
- Type
INotifiableMessage
- Type
IReplyMessage
- Type
IFormattableMessage
- Type
IInlineMessage
- Type
IReplyMarkupMessage
- Type
IInlineReplyMarkupMessage
- Type
- Type
IInputFile
- Type
InputFileStream
- Type
InputTelegramFile
- Type
InputOnlineFile
- Type
InputFileConverter
- Type of parameter
allowedUpdates
in methodSetWebhookAsync
changed toIEnumerable<UpdateType>
- Type of parameter
allowedUpdates
in methodGetUpdatesAsync
changed toIEnumerable<UpdateType>
- Type of parameter
offset
in methodGetUserProfilePhotosAsync
changed toint
- Type of parameter
replyMarkup
in methodsEditMessageLiveLocationAsync
changed toInlineKeyboardMarkup
- Type of parameter
replyMarkup
in methodsStopMessageLiveLocationAsync
changed toInlineKeyboardMarkup
- Type of parameter
replyMarkup
in methodEditMessageTextAsync
changed toInlineKeyboardMarkup
- Type of parameter
replyMarkup
in methodEditMessageCaptionAsync
changed toInlineKeyboardMarkup
- Type of parameter
replyMarkup
in methodEditMessageReplyMarkupAsync
changed toInlineKeyboardMarkup
- Type of parameter
replyMarkup
in methodSendGameAsync
changed toInlineKeyboardMarkup
- Type of parameter
replyMarkup
in methodSendInvoiceAsync
changed toInlineKeyboardMarkup
- Type of parameter
prices
in methodSendInvoiceAsync
changed toIEnumerable<LabeledPrice>
- Type of parameter
shippingOptions
in methodAnswerShippingQueryAsync
changed toIEnumerable<ShippingOption>
- Type of parameter
chatId
in methodSendInvoiceAsync
changed toint
- Type of parameter
chatId
in methodSendGameAsync
changed tolong
- Type of parameter
chatId
in methodsSetGameScoreAsync
changed tolong
- Type of parameter
chatId
in methodsGetGameHighScoresAsync
changed tolong
- Type parameter of type
SendMediaGroupRequest
changed toMessage[]
- Return type of method
GetChatIdFromTesterAsync
inTestFixture
changed toTask<long>
- Type of property
TesterPrivateChatId
on typePaymentTestsFixture
changed tolong
- Replace method
EditInlineMessageTextAsync
with overload forEditMessageTextAsync
- Replace method
EditInlineMessageCaptionAsync
with overload forEditMessageCaptionAsync
- Replace method
EditInlineMessageReplyMarkupAsync
with overload forEditMessageReplyMarkupAsync
- Reorder parameters of method
SendInvoiceAsync
- Divide
AnswerShippingQueryAsync
method into two overloads - Divide
AnswerPreCheckoutQueryAsync
method into two overloads - Method
CreateNewStickerSetAsync
renamed toCreateNewStickerSetAsync
- Method return type changed from
Task<bool>
toTask
:- Method
DeleteWebhookAsync
- Method
KickChatMemberAsync
- Method
LeaveChatAsync
- Method
UnbanChatMemberAsync
- Method
AnswerCallbackQueryAsync
- Method
RestrictChatMemberAsync
- Method
PromoteChatMemberAsync
- Method
StopMessageLiveLocationAsync
- Method
EditMessageTextAsync
- Method
EditMessageCaptionAsync
- Method
EditMessageReplyMarkupAsync
- Method
EditMessageLiveLocationAsync
- Method
DeleteMessageAsync
- Method
AnswerInlineQueryAsync
- Method
AnswerShippingQueryAsync
- Method
AnswerPreCheckoutQueryAsync
- Method
SetGameScoreAsync
- Method
CreateNewStickerSetAsync
- Method
AddStickerToSetAsync
- Method
SetStickerPositionInSetAsync
- Method
DeleteStickerFromSetAsync
- Method
SetChatPhotoAsync
- Method
DeleteChatPhotoAsync
- Method
SetChatTitleAsync
- Method
SetChatDescriptionAsync
- Method
PinChatMessageAsync
- Method
UnpinChatMessageAsync
- Method
SetChatStickerSetAsync
- Method
DeleteChatStickerSetAsync
- Method
- Type of
StickerSet.Stickers
fromList<Sticker>
toSticker[]
- Type of
ChatMember
properties to nullable e.g.bool
tobool?
- Type of
Message.Entities
fromList<MessageEntity>
toMessageEntity[]
- Type of
Message.CaptionEntities
fromList<MessageEntity>
toMessageEntity[]
- Type of
Message.EntityValues
fromList<string>
toIEnumerable<string>
- Type
InputMediaType
toInputMedia
- Type
InputMediaTypeConverter
toInputMediaConverter
- Changed member type from
FileToSend
to an implementation ofIInputFile
- Parameter
certificate
of methodSetWebhookAsync
- Parameter
photo
of methodSendPhotoAsync
- Parameter
video
of methodSendVideoAsync
- Parameter
videoNote
of methodSendVideoNoteAsync
- Parameter
document
of methodSendDocumentAsync
- Parameter
sticker
of methodSendStickerAsync
- Parameter
pngSticker
of methodUploadStickerFileAsync
- Parameter
pngSticker
of methodCreateNewStickerSetAsync
- Parameter
pngSticker
of methodAddStickerToSetAsync
- Parameter
photo
of methodSetChatPhotoAsync
- Parameter
audio
of methodSendAudioAsync
- Parameter
- Type
FileToSend
- Interface
IResponse
- Type parameter constraint from interface
IRequest
- Redundant parameter
editMessage
in methodsSetGameScoreAsync
- Redundant custom converter
ParseModeConverter
- Value
All
fromUpdateType
enum - Value
Unknown
fromFileType
enum - Default value of parameter
url
of methodSetWebhookAsync
- Property
Width
ofVideoNote
- Property
Height
ofVideoNote
- Property
Zoom
ofMaskPosition
- Method
SetWebhookAsync
interfaceITelegramBotClient
returnsbool
on success - Passing wrong
chatId
value in methodGetGameHighScoresAsync
- Passing wrong
chatId
value in methodSendGameAsync
- Passing wrong
chatId
value in methodSendInvoiceAsync
- Passing wrong
replyMarkup
value in methodSendGameAsync
- Passing wrong
replyMarkup
value in methodSendInvoiceAsync
- Passing wrong
replyMarkup
value in methodEditMessageLiveLocationAsync
- Passing wrong
replyMarkup
value in methodEditMessageReplyMarkupAsync
- Passing wrong
replyMarkup
value in methodEditMessageCaptionAsync
- Passing wrong
replyMarkup
value in methodEditMessageTextAsync
- Passing wrong
replyMarkup
value in methodStopMessageLiveLocationAsync
- Passing wrong
pngSticker
value in methodUploadStickerFileAsync
- Passing wrong
photo
value in methodSetChatPhotoAsync
- Passing wrong
certificate
value in methodSetWebhookAsync
- Incorrect spelling of the method
CreateNewStickerSetAsync
TestApiAsync()
throws exception instead of returningfalse
Stickers
test casesStickerOwnerUserId
parameter to Systems Integration Tests settings- Exception
ChatNotFoundException
- Exception
ContactRequestException
- Exception
InvalidUserIdException
- Exception
UserNotFoundException
- Exception
InvalidStickerSetNameException
- Exception
InvalidStickerEmojisException
- Exception
InvalidStickerDimensionsException
- Exception
StickerSetNameExistsException
- Exception
StickerSetNotModifiedException
- Include XML docs in NuGet package
- Default snake-cased property name serialization
- Support for Bot API 3.5
- Method
SendMediaGroupAsync
- Types
InputFileBase
andInputMediaBase
- Test Collection
AlbumMessageTests
- Test Collection
ChannelAdminBotTests
ToDo
ToDo
- Systems integrations test project
- Sandcastle project moved to
docs
branch - TravisCI configurations to run systems integrations tests
- Quoting the string containing channel ids
- Double escaping the escape character in the caption of messages
- Serialization errors of
PhotoSize
- Sending wrong filenames containing non-ASCII characters
- Deserialization of
PhotoSize
- Method
KickChatMemberAsync
parameteruntilDate
- Method
RestrictChatMemberAsync
- Method
PromoteChatMemberAsync
- Method
ExportChatInviteLinkAsync
- Method
SetChatPhotoAsync
- Method
DeleteChatPhotoAsync
- Method
SetChatTitleAsync
- Method
SetChatDescriptionAsync
- Method
PinChatMessageAsync
- Method
UnpinChatMessageAsync
- Method
SendVideoNoteAsync
parameterlength
- Method
GetStickerSetAsync
- Method
UploadStickerFileAsync
- Method
CreateNewStickerSetAsync
- Method
AddStickerToSetAsync
- Method
SetStickerPositionInSetAsync
- Method
DeleteStickerFromSetAsync
- Type
VideoNote
propertyLength
- Type
Chat
propertiesPhoto
,Description
,InviteLink
- Type
ChatMember
propertiesUntilDate
,Can*
- Type
Sticker
propertiesSetName
andMaskPosition
- Type
MaskPosition
- Type
StickerSet
- Type
ChatPhoto
- Types
InlineKeyboard*Button
- Enum
MaskPositionPoint
- User and Chat Ids reverted to base types
- DateTimes are now in local time zone
- Split Keyboard buttons to
InlineKeyboardCallbackButton
,InlineKeyboardCallbackGameButton
,InlineKeyboardPayButton
,InlineKeyboardSwitchCallbackQueryCurrentButton
,InlineKeyboardSwitchInlineQueryButton
andInlineKeyboardUrlButton
- Inline message editing
- InlineQueryResult*
ThumbHight
andThumbWidth
- Method
SetWebHookAsync
parametermax_connections
- Method
SetGameStoreAsync
- Type
CallbackQuery
PropertyData
optimal - Type
Message
can now be aVideoNoteMessage
- Method
DeleteMessageAsync
- Method
SendVideoNoteAsync
- Method
SendInvoiceAsync
- Method
AnswerShippingQueryAsync
- Method
AnswerPreCheckoutQueryAsync
- Type
Invoice
- Type
LabeledPrice
- Type
ShippingAddress
- Type
ShippingOption
- Type
ShippingQuery
- Type
SuccessfulPayment
- Type
OrderInfo
- Type
PreCheckoutQuery
- Type
VideoNote
- Type
Message
propertiesVideoNote
,Invoice
andSuccessfulPayment
- Type
User
propertyLanguageCode
- Type
Update
propertiesShippingQuery
andPreCheckoutQuery
- Type
InlineQueryResultGif
propertyDuration
- Type
InlineQueryResultMpeg4Gif
propertyDuration
- Type
InlineKeyboardButton
propertyPay
- Enum
ChatAction
membersRecordVideoNote
andUploadVideoNote
- Enum
UpdateType
membersShippingQuery
andPreCheckoutQuery
- Property
NewChatMember
replaced withNewChatMembers
on TypeMessage
- Method
SetWebHookAsync
parametersmaxConnections
,allowedUpdates
- Method
AnswerCallbackQueryAsync
parametercacheTime
- Method
StartReceiving
parameterallowedUpdates
- Method
DeleteWebhookAsync
- Method
GetWebhookInfoAsync
- Type
ApiExceptions
propertyParameters
- Type
InlineKeyboardButton
propertySwitchInlineQueryCurrentChat
- Type
ResponseParameters
- Type
WebhookInfo
- Type
ChatId
- Type
Chat
propertyAllMembersAreAdministrators
- Type
Message
propertyForwardFromMessageId
- Type
Update
propertyChannelPost
,EditedChannelPost
- Event
OnReceiveGeneralError
- Enum
UpdateType
memberChannelPost
,EditedChannelPost
- Enum
FileType
- Game Support
- Method
SetGameScoreAsync
- Method
SendGameAsync
- Method
GetGameHighScoresAsync
- Method
AnswerCallbackQueryAsync
parameterurl
- Type
Animation
- Type
CallbackGame
- Type
CallbackQuery
propertiesChatInstance
,GameShortName
- Type
GameHighScore
- Type
InlineKeyboardButton
propertyCallbackGame
- Type
InlineQueryResults
- Type
Message
propertyGame
- Enum
InlineQueryResultType
memberGame
- Enum
MessageType
memberGame
- Method
- Now the
HttpClient
will be reused - Consolidated timeouts
- To use a proxy, use the constructor
- Unified the
chatId
parameters - Replaced
ReplyKeyboardHide
withReplyKeyboardRemove
- Replaced all file sending overloads with
FileToSend
- Removed deprecated API class
- Removed deprecated methods and events
- Removed
StartReceiving
overload withtimeout
parameter