Major Highlights
1. New Examples and Dependency Injection
-
Dependency Injection Example Added:
- New project
Examples/DependencyInjectiondemonstrating full dependency injection with Entity Framework Core (BotDbContext,Usermodel, DI setup). - Shows forms using injected database context for user management and state.
- New project
-
New Middleware Example:
Examples/MiddlewareBaseBotand associated forms demonstrate advanced message loop handling and middleware capabilities.
2. Action Manager Extension
- New Project:
TelegramBotBase.Extensions.ActionManager- Provides an "Action Manager" for handling unhandled bot actions/callbacks, including navigation and value parsing.
- Supports custom actions for strings, integers, GUIDs, and navigation patterns (start with, end with, etc.).
- Includes detailed documentation on usage and extensibility.
3. PostgreSQL & Legacy JSON Session Serializers
- New Extension:
TelegramBotBase.Extensions.Serializer.Database.PostgreSql- Enables session serialization and state management using PostgreSQL.
- Includes code, SQL schema, and documentation.
- New Extension:
TelegramBotBase.Extensions.Serializer.Legacy.NewtonsoftJson- Allows state serialization using Newtonsoft.Json for legacy compatibility.
4. Image Extensions for IronSoftware
- New Project:
TelegramBotBase.Extensions.Images.IronSoftware- Enables platform-independent image sending using IronSoftware’s drawing library.
- Adds helper methods for both
AnyBitmapandImageSharpimages.
5. Other New Example Projects
- FileWatcher Example:
- Monitors directory changes and sends Telegram messages on file events.
- MiddlewareBaseBot, InlineAndReplyCombination, SystemCommandsBot, etc.:
- Several example bots updated or added to demonstrate features and integration patterns.
Upgrades and Improvements
- Nuget Packages Updated:
- Many
.csprojfiles upgraded to use the latest versions ofTelegramBotBase,EntityFrameworkCore, and other dependencies.
- Many
- Project Structure Enhanced:
- Consistent use of package references over project references for
TelegramBotBasein most example projects. - Added new README content, badges, and links for various packages and extension modules.
- Consistent use of package references over project references for
Documentation
-
README.md Expanded:
- New sections on Action Manager, Localizations, PostgreSQL/MSSQL/Legacy serializers, and all new example projects.
- Added links to Discord and Telegram support groups.
- Detailed usage instructions for new extensions and features.
-
New README files:
- Each extension and major new subproject now has its own README with installation, usage, and feature documentation.
Miscellaneous
- License Updated:
- Copyright year updated to 2025.
- Localization Updates:
- Added documentation and support for multiple language localizations.
- Bugfixes and Internal Improvements:
- Various improvements to serialization, error messages, and internal extension methods.
Notable New Files and Projects
TelegramBotBase.Extensions.ActionManager/(new extension)TelegramBotBase.Extensions.Serializer.Database.PostgreSql/TelegramBotBase.Extensions.Images.IronSoftware/TelegramBotBase.Extensions.Serializer.Legacy.NewtonsoftJson/Examples/DependencyInjection/Examples/FileWatcher/Examples/MiddlewareBaseBot/