televerse
Televerse lets you create your own efficient Telegram bots with ease in Dart. Supports latest Telegram Bot API - 10.2!
3.6.0
2.5K downloads/mo
#4979 most downloaded on pub.dev
theweaverlabs/televerse
What this package is like to depend on
Last release 28 days ago
27 Jul 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 160 of 163 stable releases
9 versions withdrawn
withdrawn after publishing
4 years old
178 releases · first in 2022
13 releases in the last 12 months
see the full history below
Release timeline
178 releases · Dec 2022 to Jul 2026Releases
latest 60 of 178-
3.6.027 Jul 2026Release notes
Open source →- Bot API 10.2
- Fixes an issue with InputFile that caused API call failure on different send methods. Thanks to @devsdocs over #364
-
3.5.226 Jun 2026Release notes
Open source →What's Changed
- Add missing parameters to RawAPI and refactor Context methods by @The0xArchitect in #363
Full Changelog: v3.5.1...v3.5.2
Release notes
Open source →- Fix: added missing
InputFileparameters to RawAPI methods (sendDocument,sendVideo,sendAnimation,sendVoice,sendVideoNote). - Implemented
Context.fileIdgetter to get file ID from messages if any.
-
3.5.121 Jun 2026Release notes
Open source →What's Changed
- Prevent including null richMessage in editMessageText payload by @albor09 in #361
- 3.5.1 by @The0xArchitect in #362
New Contributors
Full Changelog: v3.4.0...v3.5.1
Release notes
Open source →- Fixes rich message being passed as null on edit message text methods.
- Thanks to @albor09
-
3.4.015 Jun 2026 -
3.3.005 Mar 2026 -
3.2.016 Feb 2026Release notes
Open source →- Bot API 9.4
- Breaking: Changed
APICallersignature to useStringinstead ofAPIMethod. This gives unrestricted access to Telegram API Methods usingRawAPI.call. - Updated
Transformerto also use the new updated signature. - Reworked
RawAPIto be more efficient in making API calls. - Updated
LoggingPluginto use JSON logging for requests as well. InputFileand other media models are now JSON serializable, and does not require special handling.- Breaking: Changed signatures for
InlineKeyboard.text,InlineKeyboard.switchInline,InlineKeyboard.switchInlineCurrentChat - Updated test file
-
3.1.409 Feb 2026Release notes
Open source →Release notes
Open source →- Added
isTestparameter toBotconstructor to support test environment. - Improved
RawAPIto support test environment and custom base URL.
- Added
-
3.1.309 Feb 2026Release notes
Open source →What's Changed
- chore: version bump by @The0xArchitect in #354
- v3.1.3 by @The0xArchitect in #355
Full Changelog: v3.1.2...v3.1.3
Release notes
Open source →- Added
sourceIsMiddlewareproperty toBotErrorto identify the source of the error. - Added
Bot.onStopmethod to handle stop events.
-
3.1.222 Jan 2026Release notes
Open source →What's Changed
- chore: project moved to weaver labs by @The0xArchitect in #353
Full Changelog: v3.1.1...v3.1.2
-
3.1.111 Jan 2026Release notes
Open source →What's Changed
- Introduce
InputFileProviderto streamline file extraction in media models. - Include gift related messages in
isServiceMessagecheck. - Move convenience handler methods from
BottoComposer.
Full Changelog: v3.1.0...v3.1.1
Release notes
Open source →- Introduce
InputFileProviderto streamline file extraction in media models. - Include gift related messages in
isServiceMessagecheck. - Move convenience handler methods from
BottoComposer.
- Introduce
-
3.1.003 Jan 2026Release notes
Open source →- 🤖 Bot API 9.3
- See changes here: https://core.telegram.org/bots/api-changelog#december-31-2025
-
3.0.121 Sep 2025Release notes
Open source →- Removed one last stray
dynamictype from the library. - Typed
Payload's[]operator asObject?.
- Removed one last stray
-
3.0.030 Aug 2025Release notes
Open source →- Bot API 9.2
- Televerse v3
- ⚠️ Contains Breaking Changes: See migration guide here.
-
3.0.0+dev.011 Aug 2025 withdrawnNothing published for this version
-
3.0.0-dev.113 Aug 2025 pre-releaseRelease notes
Open source →- Fixes a bug in
Conversation.filtermethod. - Updates the
Context.fromretrieval order.
- Fixes a bug in
-
3.0.0-dev.011 Aug 2025 pre-releaseRelease notes
Open source →🚀 Major Architectural Overhaul
This is a major breaking release that introduces a complete architectural redesign inspired by grammY, bringing modern patterns and enhanced developer experience to Telegram bot development in Dart.
✨ New Features
🎯 Filter System
- NEW: Added 80+ filters for comprehensive update handling
- NEW: Filter combination with logical operators (
+for OR,*for AND,-for NOT) - NEW:
bot.filtersproperty for type-safe filter access without generic specifications - NEW:
PredicateFilterfor custom filtering logic with optional naming - NEW: Complex filter combinations like
bot.filters.photo + bot.filters.video - NEW: Negation operations like
bot.filters.anyMessage - bot.filters.command
🔌 Comprehensive Plugin System
- NEW:
BotPlugin<CTX>interface for extensible bot functionality - NEW: Three built-in plugins:
SessionPlugin<CTX, T>- Persistent user sessions with customizable storageConversationPlugin<CTX>- Advanced multi-step conversations with timeout supportLoggingPlugin<CTX>- Request/response logging
- NEW: Plugin dependency management and validation
- NEW:
MiddlewarePluginandTransformerPluginbase classes for easy plugin development
💬 Advanced Conversation API
- NEW:
Conversation.wait()with timeout support andConversationTimeoutException - NEW:
Conversation.waitFor()for predicate-based waiting - NEW:
Conversation.filter()for filter-based waiting - NEW:
Conversation.waitUntil()with validation andotherwisecallback - NEW: Conversation timeout management with
extendTimeout()andsetCustomTimeout() - NEW:
ConversationStorageinterface withMemoryConversationStorageimplementation - NEW: Automatic conversation cleanup and statistics via
getConversationStats()
🛠️ Enhanced Middleware System
- NEW: Function-based middleware with
Middleware<CTX>typedef - NEW:
Composer<CTX>class for advanced middleware composition - NEW: Conditional middleware with
bot.when() - NEW: Concurrent middleware with
bot.fork() - NEW: Lazy middleware with
bot.lazy() - NEW: Branching middleware with
bot.branch() - NEW: Error boundaries with
bot.errorBoundary()and recovery support - NEW: Named middleware support for debugging and management
🌐 Built-in Webhook Server
- NEW:
bot.startWebhook()for instant webhook deployment - NEW:
bot.startWebhookDev()for ngrok development workflow - NEW: Built-in HTTP server with health check and status endpoints
- NEW: CORS support and secret token validation
- NEW: Automatic webhook URL configuration with Telegram
🎯 Enhanced Type Safety
- NEW: Full generic support with
Bot<CTX extends Context> - NEW: Custom context factories with
contextFactoryparameter - NEW: Type-safe filter access through
bot.filters - NEW: Strongly typed plugin interfaces
- NEW: Zero dynamic types in public API
📊 Bot Statistics and Monitoring
- NEW:
BotStatsclass with comprehensive metrics - NEW: Processing time tracking and success/error rates
- NEW: Real-time update statistics via
bot.stats - NEW: Plugin installation tracking
🔧 Advanced HTTP Client Support
- NEW: Custom HTTP client injection via constructor
- NEW:
DioHttpClientas default implementation - NEW: Interceptor support through custom HTTP clients
- NEW: Network request/response transformation
💥 Breaking Changes
Middleware System
- BREAKING:
Middlewareis now a function typedef instead of a class - BREAKING: Remove
MiddlewareBase- use function-based middleware - BREAKING:
Bot.use()now only acceptsMiddleware<CTX>functions - BREAKING: Transformer attachment moved to
bot.api.use()instead ofBot.use()
Constructor and Configuration
- BREAKING:
Bot.local()constructor now takes URL as second positional parameter - BREAKING: Context factory moved from
Bot.useContext()to constructor parametercontextFactory - BREAKING: Update fetcher moved from constructor to
Bot.start()method - BREAKING: Removed
LoggerOptions- use custom HTTP client with interceptors instead
Context Changes
- BREAKING:
Context.meis nowBotInfoinstead ofUser - BREAKING: Access bot user info via
ctx.me.me?.firstNameinstead ofctx.me.firstName
Conversation API
- BREAKING: Remove
Conversation.waitForTextMessage()and similar methods - BREAKING: Replace with
conversation.filter(Filters().text)pattern - BREAKING:
ConversationResultclasses removed - methods now returnContextdirectly - BREAKING: Conversation methods no longer return
ConversationSuccess/ConversationError
Keyboard and Menu Changes
- BREAKING:
Keyboard.addText()renamed toKeyboard.text() - BREAKING:
InlineKeyboard.addUrl()renamed toInlineKeyboard.url() - BREAKING:
InlineMenu.text()signature changed to(String text, String callbackData, UpdateHandler<CTX>) - BREAKING:
switchInlineQueryCurrentChatrenamed toswitchInlineCurrentChat - BREAKING:
Bot.removeMenu()method removed
Type and Handler Changes
- BREAKING:
Handler<Context>typedef renamed toUpdateHandler<Context> - BREAKING:
ID.get()method removed - useapi.getChat(id)instead - BREAKING: Links library removed - use Telegram deeplink documentation
Import Structure
- BREAKING: Many enums and types moved from
televerse.darttotelegram.dart - BREAKING: Must import
package:televerse/telegram.dartforParseMode,ChatAction, etc.
-
2.7.004 Jul 2025 -
2.6.217 Jun 2025 -
2.6.107 Jun 2025Release notes
Open source →- Removed
Update.msgusage in theConversation.waitForTextMessage, this could unintentionally match callback query message texts. - Removed a maintenance script
- Removed
-
2.6.030 May 2025 -
2.5.119 May 2025 -
2.5.015 Apr 2025 -
2.4.526 Mar 2025 -
2.4.420 Mar 2025Release notes
Open source →- Fixed:
ChatMemberOwneris now correctly represented asChatMember.creatorinstead ofChatMember.owner.
- Fixed:
-
2.4.315 Mar 2025Release notes
Open source →- Fixed:
ChatMemberBannedis now correctly represented asChatMember.kickedinstead ofChatMember.banned.
- Fixed:
-
2.4.213 Mar 2025 -
2.4.112 Mar 2025 -
2.4.007 Mar 2025Release notes
Open source →- All Telegram models are now re-written with Freezed
- Breaking:
Keyboard&InlineKeyboardusage. Check this PR comment for details.
-
2.4.0-dev.305 Mar 2025 pre-releaseRelease notes
Open source →- Surpress all the
invalid_annotation_targetwarnings - Fix other linter issues.
- Surpress all the
-
2.4.0-dev.204 Mar 2025 pre-release -
2.4.0-dev.104 Mar 2025 pre-release -
2.4.0-dev.004 Mar 2025 pre-releaseRelease notes
Open source →- All Telegram Models are now built with Freezed.
- Breaking:
Keyboard&InlineKeyboardusage. Check this PR comment for details.
-
2.3.013 Feb 2025Release notes
Open source →- 🤖 Bot API 8.3
- Check the Telegram Bot API changelog for detailled change info.
-
2.2.004 Jan 2025Release notes
Open source →- 🤖 Bot API 8.2
- Added the methods
verifyUser,verifyChat,removeUserVerification, andremoveChatVerification, allowing bots to manage verifications on behalf of an organization. - Added the field
upgrade_star_countto the classGift. - Added the parameter
pay_for_upgradeto the methodsendGift. - Removed the field
hide_urlfrom the classInlineQueryResultArticle. Pass an empty string asurlinstead.
-
2.1.120 Dec 2024Release notes
Open source →- Updated switch statements to Switch expressions.
- Fix:
BackgroundTypeType.chatThemetypo
-
2.1.005 Dec 2024Release notes
Open source →- 🤖 Bot API 8.1
- Added class
AffiliateInfoand reflected all the changes from Bot API 8.1
-
2.0.225 Nov 2024Release notes
Open source →- 🆕 Supports Middleware chaining for each handler.
- ⚠️ Updated Conversation API definitions.
- 📖 Conversation API migration guide is available at website.
- Updated
Fetcherimplementations. - Improved error wordings.
- Refactored
bot.dart - ⚠️ Removed
Bot.onmethod &TeleverseEventenum.
-
2.0.125 Nov 2024 withdrawn -
2.0.025 Nov 2024 withdrawn -
1.28.018 Nov 2024Release notes
Open source →- 🤖 Bot API 8.0
- Updated
RawAPI.createInvoiceLinkto the docs. - Updated
SuccessfulPayment,TransactionPartnerUserto reflect the new Star Subscription features. - 🆕 Added new API Methods -
editUserStarSubscription,setUserEmojiStatus,savePreparedInlineMessage,getAvailableGifts,sendGift. - 🆕 Added new classes -
PreparedInlineMessage,Gift,Gifts.
-
1.27.316 Nov 2024Release notes
Open source →- ⚠️ Removed
baseURLfromBotprimary constructor. - This is to rigidly separate
Bot.localagainstBotconstructors. Why do we need to keep two copies of the same thing? - From now on, local bots must be constructed using
Bot.local. - If you weren't using the local bot API, this change won't affect you.
- ⚠️ Removed
-
1.27.215 Nov 2024Release notes
Open source →- Fix: Base URL wasn't even being considered.
- Thanks to @itsmhmd for reporting
- Updated Request URI construction logic
- ⚠️ Breaking! Removed
APIScheme. Now the scheme must be added to thebaseURLitself. - If you weren't using the local bot API, this change won't affect you.
-
1.27.102 Nov 2024Release notes
Open source →- Fix
RawAPI.sendPaidMediacrashes while sending local file usingInputFile.fromFile
- Fix
-
1.27.001 Nov 2024 -
1.26.728 Oct 2024 -
1.26.623 Oct 2024Release notes
Open source →- Check
Webhook.secretTokenwith the headerX-Telegram-Bot-Api-Secret-Tokenbefore processing the incoming webhook update.
- Check
-
1.26.523 Oct 2024 -
1.26.404 Oct 2024Release notes
Open source →- Added
LocalFileclass. - Redefined
Payload.filesparameter with theLocalFileobjects instead ofMultipartFilefrom Dio.
- Added
-
1.26.302 Oct 2024Release notes
Open source →- 🐞 Fix: Webhook Bots crashed when an invalid body was present in the request.
-
1.26.228 Sep 2024Release notes
Open source →- Added way too many internal changes.
- Added separate method for
RawAPIconstruction inBot RawAPIinstance will be created along withBotinstance.- 🐞 Not having above caused transformers to not work. So obviously, fixed that.
- Added more
Contexthelper methods. - (Internal)
Bot._apiis now non-nullable. - (Internal) Properties
_loggerOptions,_baseURL, and_schemehas been removed fromBot. They now solely belong toRawAPI. - (Internal) Expensive calls are cached in
Context, such aschat,msgare now cached for better performance in recurring access.
-
1.26.112 Sep 2024Release notes
Open source →- Fix #294.
- Updated the Bot.init method to initalize the update streams as well.
-
1.26.008 Sep 2024Release notes
Open source →- [⚠️ Breaking | Plugins] Updated the
Transformerclass - Made the
payloadparameter for theTransformer.transformmethod optional-positional argument. - Added
RawAPI.callmethod for independently calling the Telegram Bot API methods.
- [⚠️ Breaking | Plugins] Updated the
-
1.25.007 Sep 2024Release notes
Open source →- 🤖 Bot API 7.10
- Added
Bot.onPaidMediaPurchasefor listening to PaidMediaPurchased updates. - Added much more helper methods on
Context
-
1.24.014 Aug 2024Release notes
Open source →- 🤖 Bot API 7.9
- Added new methods
- Published Televerse Documentation website (https://televerse.weaverlabs.ca)
-
1.23.109 Aug 2024Release notes
Open source →- Exposed couple of more properties in Context
- Added
Bot.additionalInfo - Documentation website is up.
-
1.23.031 Jul 2024Release notes
Open source →- 🤖 Bot API 7.8
- Added
User.hasMainWebApp - Support for managing pinned messages on behalf of user (Business Bots)
-
1.22.523 Jul 2024 -
1.22.423 Jul 2024 -
1.22.316 Jul 2024 -
1.22.216 Jul 2024