- resolve issues #242, #245, #261, #262
- support Bot API 9.5 (#263)
- support API 9.4 (February 9, 2026 update)
- Bot Profile Management:
- Added
setMyProfilePhotoandremoveMyProfilePhotomethods
- Added
- Forum Topics in Private Chats:
- Added
allows_users_to_create_topicsfield to User - Added
is_name_implicitfield to ForumTopic and ForumTopicCreated
- Added
- Colored Buttons:
- Added
styleandicon_custom_emoji_idfields to KeyboardButton and InlineKeyboardButton
- Added
- Video Quality:
- Added VideoQuality type and
qualitiesfield to Video
- Added VideoQuality type and
- Chat Owner Events:
- Added ChatOwnerLeft and ChatOwnerChanged types
- Added
chat_owner_leftandchat_owner_changedfields to Message
- User Profile Audios:
- Added UserProfileAudios type and
getUserProfileAudiosmethod - Added
first_profile_audiofield to ChatFullInfo
- Added UserProfileAudios type and
- Gifts:
- Added
rarityfield to UniqueGiftModel - Added
is_burnedfield to UniqueGift
- Added
- Miscellaneous:
- Added
repostStorymethod - Added UserRating type and
ratingfield to ChatFullInfo - Added
completed_by_chatfield to ChecklistTask - Added
message_effect_idto ForwardMessageParams and CopyMessageParams
- Added
- Bot Profile Management:
- support API 9.3 (December 31, 2025 update)
- Topics in private chats:
- Added
has_topics_enabledfield to User
- Added
- Gifts:
- Added
getUserGiftsandgetChatGiftsmethods - Replaced
last_resale_star_countwithlast_resale_currencyandlast_resale_amountin UniqueGiftInfo - Replaced
exclude_limitedwithexclude_limited_upgradableandexclude_limited_non_upgradablein getBusinessAccountGifts - Added
gift_upgrade_sentfield to Message - Added
gift_id,is_from_blockchain,is_premium,colorsfields to UniqueGift - Added
personal_total_count,personal_remaining_count,is_premium,has_colors,background,unique_gift_variant_countfields to Gift - Added
is_upgrade_separate,unique_gift_numberfields to GiftInfo and OwnedGiftRegular - Added
gifts_from_channelsfield to AcceptedGiftTypes - Added GiftBackground and UniqueGiftColors types
- Added
unique_gift_colors,paid_message_star_countfields to ChatFullInfo
- Added
- Streaming:
- Added
sendMessageDraftmethod for streaming partial messages
- Added
- Topics in private chats:
- api 9.2 (#207)
- fix: hide token from logs (#206)
- use io.Pipe for build request (#205)
- 🛠️ fix: models.InputSticker model handling/usage (#201)
- style: replace empty
interface{}withany(#200)
- support API 9.1 (#194)
- support API 9.0 (#176)
- fix json 'omitempty' fields for message struct - pinned_message/pinned_message (#175)
- Add MessageEntity Types (#169)
- fix: rawRequest - use errorsHandler for error on close resp body (#170)
- add
MatchTypeCommandandMatchTypeCommandStartOnly - updated UploadStickerFile method to match Telegram Bot API (#165)
- remove ci args for use default config
- make MaskPosition optional
- Add check for nil in addFormFieldInputFileUpload (#161)
- Change type of Stickers field in CreateNewStickerSetParams struct (#160)
- support API 8.3
- add option
WithInitialOffset(offset int64)- allows to set initial offset for getUpdates method
- change field type
WebAppUser.IDfrominttoint64
- add method
bot.ID() int64 - add method
bot.Token() string
- support API 8.2 (#144)
- fix unmarshal ChatBackground
- ValidateWebappRequest - now returns model WebAppUser (#143)
- add handler type for photo captions (#138)
- support API v8.1
- fix CreateNewStickerSetParams (#132)
- support API v8.0
- Fix arm64 panic (#130)
- support API v7.11
- fix unmarshal
ChatBackgroundtype (#126)
- IMPORTANT! New option
WithNotAsyncHandlersallows to run handlers in the main goroutine. Now, by default, all handlers are run in separate goroutines.
- add method GetBusinessConnection (#123)
- add function
bot.SetToken - update GitHub action versions
- change field type
FromChatIDfrom string to any forForwardMessageParams,ForwardMessagesParams,CopyMessageParamsandCopyMessagesParamsparams
- change handlers map to slice (#115)
- feat: Ability to process updates across multiple gorutines (#112)
- add 'HandlerTypeCallbackQueryGameShortName' (#108)
- feat: add middlewares for handler (#105)
- support API v7.10
- change type for field Type in models.Chat and models.ChatFullInfo from
stringtomodels.ChatType - add consts for ChatType
- models.ChatTypePrivate
- models.ChatTypeGroup
- models.ChatTypeSupergroup
- models.ChatTypeChannel
- Fix findHandler behavior
- fix: pass error with
%winstead%vafter rawRequest
- add option
UseTestEnvironmentfor use test environment in API requests
- support API v7.9
- add ValidateWebappRequest func for validate MiniApp requests
- support API v7.6, 7.7
- add const
models.ParseModeMarkdownV1
- support API v7.5
- fix: getGameHighScores returns an array of high scores instead of a single object (#94)
- Use any type for ChatID in SetGameScoreParams and GetGameHighScoreParams (#88)
- support API v7.4
- add Marshal functions for struct with many types
- ChatBoostSource
- ChatBackground
- ChatMember
- MenuButton
- MaybeInaccessibleMessage
- ReactionType
- MessageOrigin
- support API v7.3
- fix race in test
- add example inline_keyboard_multiselect
- Added error handling for specific error codes (#69)
- fix: exit from waitUpdates function when context is terminated (#75)
- support API v7.2
- remove worker pool
- add option
WithUpdatesChannelCap
- add error
ErrorForbiddenfor responses with error code 403 - fix CopyMessages capture response
- ForwardMessages properly unmarshal result (#68)
- ForwardMessages return slice of MessageID (#66)
- add option WithAllowedUpdates (#65)
- fix
CallbackQuery.Messagefield type fromInaccessibleMessagetoMaybeInaccessibleMessage
- fix json tag for DeleteMessagesParams.MessageIDs
- fix SetMessageReaction marshal func, fix get response for this method
- fix typo in json tag
models.UsersSharedfor field UserIDs
- support API v7.1
- fix: add 'omitempty' to LinkPreviewOptions.URL
- support API v7.0
- Fix typo for setChatDescription params (#49)
- add example handler_match_func
- add function bot.FileDownloadLink
- add missed field HasSpoiler to InputMedia types
- json tag typo fix (#41) vvok12*
- support bot api 6.9
- support bot api 6.8
- update
defaultUpdatesChanCapfrom 64 to 1024
- revert
v0.7.7changes
- check for empty token on bot init
- add missed ChatID to BotCommandScopeChat
- add missed BotCommandScopeChatAdministrators.MarshalCustom
- add ChatAction type with consts for
sendChatActionmethod
- add option
WithSkipGetMe()
- [BUGFIX] fix type of field
Message.ReplyMarkup(#30) - improve examples (#31)
- change
models.ReplyMarkupfromanyto interface
- support bot api 6.7
- add option
WithDebugHandler
- [BUGFIX] change field
SendPollParams.IsAnonymousto *bool (#26) - add helpers
bot.True()andbot.False()for define *bool values
- make
bot.ProcessUpdatepublic
- fix copyMessage method (#24)
- fix field name in MenuButtonWebApp #21
- support bot api 6.6
- [BREAKING] change UserID field type in methods params and models from
inttoint64#19
- [BUGFIX] send http.NoBody if all params fields are empty. For example, method
getMyCommandshas not required fields
- support bot api 6.5
- [BUGFIX] SendChatAction now calls
sendChatActioninsteadsendDice
- [BUGFIX] change field Thumb to InputFile type
- add func
EscapeMarkdownUnescapedfor escape only unescaped symbols
- [BREAKING] change some types from
inttoint64#11
- support bot api 6.4
- add
RegisterHandlerMatchFunc
- fix field type SendDocumentParams.Document from string to InputFile, add example
- support bot api 6.3
- [API CHANGE] method New now call
getMeafter init and returns error as second result on fail
- support bot api v6.2
- support bot api v6.1
- change API. Use bot funcs instead of
methodspackage.
- add webhook support
- API refactoring
- use bot.GetUpdates() instead of bot.Start()
- initial release