NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
Televerse lets you create your own efficient Telegram bots with ease in Dart. Supports latest Telegram Bot API - 10.2!
Last release 2 months ago
27 Jul 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
9 versions withdrawn
withdrawn after publishing
4 years old
178 releases · first in 2022
One column per quarter.
Fixed an issue with the InlineQueryResultGif class
InlineQueryResultGif classBot.init method.Added the RefundedPayment class and the Message.refundedPayment property
RefundedPayment class and the Message.refundedPayment propertygetMe call to be made from hte Bot.start methodBot.local -
#275 (Thanks to
@devdocs for reporting)Bot.start now accepts zero parameters.Context.maybeId a nullable ID instanceWebhook now accepts a shouldSetWebhook flag which indicates whether the setWebhook call to be made implicitly or not.
Webhook now accepts a shouldSetWebhook flag which indicates whether the
setWebhook call to be made implicitly or not.url property optional in Webhook.Added methods to register callbacks for handling paid media in bot messages:
Bot.onPaidMedia: Registers a callback for whenever any type of paid media
is received in messages.Bot.onPaidMediaVideo: Registers a callback for whenever paid media videos
are received in messages.Bot.onPaidMediaPhoto: Registers a callback for whenever paid media photos
are received in messages.RawAPI.sendPaidMedia is added to send paid media.Added detailed usage documentation for custom context here.
Bot.contextBuilder method<CTX extends Context>
Bot, Handler, Fetcher, Menu, BotError, Conversation
etc.KeyboardMenu that caused some features not to work.🧑🏻🔧 Fix in InlineQueryResultBuilder methods voice and video.
InlineQueryResultBuilder methods voice and video.Webhook implementation. Works perfect now!Webhook fetcher in
Examples RepoInlineQueryResultBuilder and Webhook
classes.Fixes in documentation comments
Changed return type of the Transformer.transform from FutureOr > to Future > because it'll always have to return a Future.
Transformer.transform from
FutureOr<Map<String, dynamic>> to Future<Map<String, dynamic>> because
it'll always have to return a Future.typedef PayloadFiles.⚠️ Changed the Transformer.transform method definition.
Transformer.transform method definition.Transformer classPayload to accept payload to the API callsAPICaller for the method which actually invokes the API
endpoinds.🆕 Support for Middlewares & Transformers
Middleware class to create a middleware.Transformer class to create a transformer.RawAPI which then can alter the request
payload.use method on Bot, Context and RawAPI to attach middlewares.Context.middlewareStorage as a Map<String, dynamic> to store any
output from middleware functions.Bot.onStop method can now be asynchronous.
#257 (Thanks to @devsdocs)Webhook.certificate is changed to InputFile as described by the
official documentation.- [Retracted]
- 🤖 Bot API 7.5 - Improved context aware methods - Added WithID abstraction
WithID abstractionAdded considerCaption parameter in Bot.command mehtod to match commands in the caption of video/photo messages.
considerCaption parameter in Bot.command mehtod to match commands in
the caption of video/photo messages.UsersShared causing the users field to be
null and resulting in crashes.‼️ Strict typing for ctx.editMessageMedia and ctx.editMessageReplyMarkup
ctx.editMessageMedia and ctx.editMessageReplyMarkupChatID constuctor accepted dynamicRefactors and formatting improvements
Added Keyboard.remove method to remove Keyboard.
Keyboard.remove method to remove Keyboard.Removed unnecessary print in the callback setter.
BotLink link generation.- Removed usage of dart:mirrors - Updated README
dart:mirrorsFix: Forked Handlers caused crash.
Added businessConnectionId to Context aware methods.
businessConnectionId to Context aware methods.Added Bot.fromAPI constructor for creating Bot instance from RawAPI instance.
Bot.fromAPI constructor for creating Bot instance from RawAPI
instance.Bot.command, Bot.text, Bot.hears, and many more methods now listens to
all Message types (Message, Channel Posts, and edited messages of both)chatId parameter to Bot.shippingQuery and Bot.preCheckoutQuery.ScopeOptions class that can contain additional info for handler scope.ScopeOptions.forked to create forked handlers. Forked handlers are run
without conditions.ScopeOptions.customPredicate can be used to set a middleware to check if the
update should be processed or skipped.Dart 3.0.0Bot.removeScope can be used to remove already set handlers.ScopeOption on both menus as well.Improved efficiency by removing redundant getMe calls while registering command handlers and whenMentioned handlers.
getMe calls while registering
command handlers and whenMentioned handlers.LongPolling.allowedUpdates nullable, and removed the constant empty
list initialization.Introducing TGException enum which is a collection of different possible Telegram exceptions binded with their reasons and possible solutions.
TGException enum which is a collection of different possible
Telegram exceptions binded with their reasons and possible solutions.LoggerOptions.only method to turn on logging for ONLY specified
actions.StackTrace along with uncaught TelegramException errors.Context.args will no longer return null.
Context.args will no longer return null.RawAPI constructorBot.command method.Keyboard for simplicity.Added missing methods in the InlineKeyboard
InlineKeyboardCompletes the helper class MessageContentGenerator for ease of use to create InputMessageContent.
MessageContentGenerator for ease of use to create
InputMessageContent.MessageContentGenerator methods text, location, venue, contact and
invoice.🆕 InlineQueryResultBuilder utility class is added
InlineQueryResultBuilder utility class is addedInlineQueryResultBuilder can be used to build Inline Query Results in a
better and easier way.callback_data required for InlineMenu.textcreateNewStickerSet (Thanks to @defuera for pointing out the
issue.)LoggerOptions and logging the requests and responses.ForceReply, ChatMember, etc.Fix InputSticker conversion to json 🤦 (thx @defuera)
InputSticker conversion to json 🤦 (thx @defuera)Add missing field InputStickerFormat to InputSticker class. (Thanks to @defuera)
InputStickerFormat to InputSticker class. (Thanks to
@defuera)HandlerScope (This doesn't affect anything on the
public API)Fix an issue with the RawAPI.banChatMember (Thanks to @Sominemo for #223)
RawAPI.banChatMember (Thanks to @Sominemo for
#223)All changes from the Bot API 7.2 is added to this release.
Bot.onBusinessConnection, Bot.onBusinessMessage,
Bot.onBusinessMessageEdited, Bot.onBusinessMessageDeleted to handle
business messages and connection related updates.Context.businessConnection, Context.businessMessage,
Context.editedBusinessMessage, Context.businessMessageDelete getters to
get the business connection, business message, edited business message, and
business message delete updates respectively.🆕 Whole new version of TeleverseMenu
TeleverseMenuInlineMenu and KeyboardMenu are now can be used to create menus with
all available button types.Session, SessionManager, and all Televerse
Session related methods and properties.Added a new property timeout to Bot and RawAPI classes to set the timeout for the API requests.
timeout to Bot and RawAPI classes to set the
timeout for the API requests.TeleverseExceptionType to categorize the exceptions that can be thrown
from the Televerse library.TeleverseException class now has a type property to represent the type
of the exception.RawAPI.closeClient method to close the HTTP client.HttpClient export.Fix #212 - setChatMenuButton required ID instance where it should be optional.
Refer to official changelog here.
Improved the Conversation API to make it easier and more efficient to use.
Conversation API to make it easier and more efficient to use.clearUnfulfilled (true by default) to all waitFor
methods in Conversation which will clear the unfulfilled Conversation
listeners when new one is attached.Conversation.clear and Conversation.clearAll methods to clear
attached listeners.Context object, this is because
when clearing the unfulfilled listeners, the method will return null.ConversationException class to represent the exceptions that can be
thrown from the Conversation class. For now, the only exception that can
possibly be thrown is the Timeout Exception.All Televerse listeners are now based on the single Context class.
Context class.Context subclasses, such as MessageContext,
InlineQueryContext, CallbackQueryContext etc.RawAPI class.Conversation.waitFor methods no longer accepts generic type. All the methods
return the Context class.Now Televerse uses APIMethod instead of hard coded strings to call API endpoints.
APIMethod instead of hard coded strings to call API
endpoints.APIMethod implementations and typos.- Updated Example File
Added ID parameter to toJson of many InlineQueryResult classes.
ID parameter to toJson of many InlineQueryResult classes.Implemented MessageOrigin.fromJson which was part of the Bot API 7.0
MessageOrigin.fromJson which was part of the Bot API 7.0Made almost all models to have const constructors
Bot.inlineQuery method is updated to accept Pattern query to listen to
inline queries that match the passed pattern. It had an unintended behavior
before.toString on InlineQueryResultType enum for it to work with
RawAPI.answerInlineQueryFixed an issue with the InlineKeyboardButton class that caused a crash when webAppInfo parameter is set.
InlineKeyboardButton class that caused a crash when
webAppInfo parameter is set.
(#190)Nothing published for this version
Bot API 7.0 (December 29, 2023)
MessageReactionContext &
MessageReactionCountUpdatedContext to represent message_reaction and
message_reaction_count updates respectively.Televerse.onMessageReaction and Televerse.onMessageReactionCount
methods to listen to message_reaction and message_reaction_count updates
respectively.MessageContext.react and MessageContext.reactMultiple to
react to a message.Televerse.whenReacted method to listen to particular reactions on a
message.replyToMessageId and
allowSendingWithoutReply parameters with replyParameters of Type
ReplyParameters.RawAPI: copyMessage, sendMessage, sendPhoto,
sendVideo, sendAnimation, sendAudio, sendDocument, sendSticker,
sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact,
sendPoll, sendDice, sendInvoice, sendGame, and sendMediaGroup.MessageContext: reply, replyWithPhoto,
replyWithAudio, replyWithDocument, replyWithVideo, replyWithVideoNote,
replyWithVoice, replyWithMediaGroup, replyWithLocation,
replyWithVenue, replyWithContact, replyWithPoll, replyWithDice,
replyWithGame, replyWithAnimation, replyWithSticker.disableWebPagePreview with
linkPreviewOptions in the methods RawAPI.sendMessage and
RawAPI.editMessageText.ChatJoinRequestContext.replyToUser,
ChatMemberUpdatedContext.replyToUser, CallbackQueryContext.editMessage,
MessageContext.reply, and MessageContext.editMessageText.InputTextMessageContent.disableWebPagePreview is now renamed to
InputTextMessageContent.linkPreviewOptions and the type is changed to
LinkPreviewOptions.deleteMessages, forwardMessages, and copyMessagesKeyboardButton.requestUser is now renamed as
KeyboardButton.requestUsers and the type is changed to
KeyboardButtonRequestUsers.request_user in the class KeyboardButton to
request_users.UsersShared.user_shared in the class Message with the field
users_shared.ChatBoostUpdated and ChatBoostRemoved
updates, respectively Televerse.onChatBoosted,
Televerse.onChatBoostRemoved are added.ChatBoostUpdatedContext and ChatBoostRemovedContext
are added.Chat model to reflect the changes in the API.MessageOrigin and replaced the fields
forward_from, forward_from_chat, forward_from_message_id,
forward_signature, forward_sender_name, and forward_date with the field
forwardOrigin of type MessageOrigin in the class Message.CallbackQuery.message is now of the type
MaybeInaccessibleMessage instead of Message.Made the parameters inside OrderInfo class nullable as per the documentation.
OrderInfo class nullable as per the
documentation.Refactored the code to make it easier to maintain.
lints as a dev dependency.Added [Televerse.onSuccessfulPayment] method to listen to successful payments service messages #158`, thanks to @Defuera for the suggestion and @Giuse
Fixed an issue with the InlineKeyboardButton class that caused a crash when webAppInfo parameter is set.
InlineKeyboardButton class that caused a crash when
webAppInfo parameter is set.🤖 Telegram Bot API 6.9 (September 22, 2023)
🤖 Telegram Bot API 6.8 (August 18, 2023)
PollAnswer.user property is now returns a nullable
User object.Using LoggerOptions unknowingly caused the bot to crash. This is now fixed.
LoggerOptions unknowingly caused the bot to crash. This is now fixed.Televerse.onCommand method to listen to all commands -
#150 by
@Defuera.Nothing published for this version
Added LoggerOptions class to configure the logger.
LoggerOptions class to configure the logger.Televerse class accepts a LoggerOptions object to setup logging
requests and responses to and from the Telegram Bot API.APIMethod enum to represent the Telegram Bot API methods.APIMethod to the LoggerOptions class to log only
the specified methods. By default all methods will be logged.Added Televerse.setNextStep method which can be used to set next step handler.
Televerse.setNextStep method which can be used to set next step
handler.DioExceptions and throws meaningful exceptions.Added BotError class that will be passed to the Televerse.onError handler
BotError class that will be passed to the Televerse.onError handlerTeleverse.onError will now only accept one parameter which is instance of
BotErrorInputFile constructor private. Use InputFile.fromFile or
InputFile.fromBytes or InputFile.fromUrl or InputFile.fromFileId to
create an InputFile instance.InputFile.fromBytes constructor to create an InputFile
instance from a Uint8List object.dio instead of http package.- Fixed a minor formatting issue
Fix #135 - Methods in MessageContext failed to work when message is in a General Topic of a Forum.
MessageContext failed to work when message is in a General Topic of a Forum.onError method.Nothing published for this version
Fix #130 - RawAPI.editMessageMedia method now works as expected.
Your coding agent can read these notes before it upgrades. Set up the MCP server →