Commit Graph

41 Commits

Author SHA1 Message Date
Rikitav a18eab0f31 * Fixed minor building errors 2026-03-06 21:05:57 +04:00
Rikitav 516367c602 Also simplified Generic Host building 2026-03-06 21:02:19 +04:00
Rikitav 1e4a474beb * Simplified creation of webhost
* Removed dependency from TelegramBotWebHost abstraction insode Webhooker
* Added extension methods for ASP.NET host
2026-03-06 20:49:32 +04:00
Rikitav 52ebda68fe * Refined project files
* Updatetd dependencies
2026-03-06 20:16:30 +04:00
Rikitav a7fe90ac50 * Renamed DescribeHandlerInfo to DescribedHandlerDescriptor
* Added AwaitResult and ReportResult methods to DescribedHandlerDescriptor
* Moved DontCollectAttribute and MightAwaitAttribute to Annotations namespace
* Rewrote UpdateRouter and UpdateHandlersPool
* Fixed Synchronous handlers routing bug
* Code cleanup
2026-03-06 18:51:10 +04:00
Rikitav 0bcfdc9c97 Version incremented 2025-08-25 02:48:13 +04:00
Rikitav 576dd5013f Version incrememted 2025-08-24 01:23:32 +04:00
Rikitav 71af943794 Version incremented 2025-08-21 23:39:23 +04:00
Rikitav 92df5e9c79 * hotfix of aspects inspection
* Added IHandlersManager. interface that allows both collecting and providing handlers
2025-08-19 12:10:40 +04:00
Rikitav 6905045cde DescriptorAspectsSet optimizations 2025-08-19 06:38:56 +04:00
Rikitav 2d97fe5339 Removed Method GetDescriptorsList from IHandlersCollection 2025-08-19 05:39:22 +04:00
Rikitav 16440bcf43 * Added protection from NotImplementedException to HandlerBuilderBase
* Moved AddHandler<T> and AddHandler(Type) methods from IHandlersCollection to extension methods
* Added public constructor to IHost types form extensibility
* Code cleanup
2025-08-19 04:33:02 +04:00
Rikitav c6d1abeacb Added keyboard markup generation from properties 2025-08-19 01:41:06 +04:00
Rikitav 707f4222ff Added support for ReplyKeyboardMarkup generation 2025-08-19 01:05:45 +04:00
Rikitav cf598ea91e * Added ReplyKeyboardMarkupGenerator
* Added set of markup attributes dedicatedf to map a keyboard using partial methods
2025-08-16 13:13:34 +04:00
Rikitav cdd03a3e0e Incremented and fixed version 2025-08-13 01:12:26 +04:00
Rikitav 7957d63c2b Version incremented 2025-08-12 00:43:43 +04:00
Rikitav 3b7908756d * Added new handler type "InlineQueryHandler"
* Acts as complex multi-type handler that supports InlineQuery AND ChosenInlineQuery updates
* Added "UpdateTypeExtensions.SuppressTypes" to suppress some of update types for multi-type handlers
* Logging adjustments
* Changed extension method "HasPublicProperties" to extned Type
2025-08-12 00:09:45 +04:00
Rikitav 3a88feb5f1 * Improved filter fallback search logic
* Fixed Environment variable filter logic
* Changed some logs to trace level
* Added new Message extension methods
2025-08-10 02:48:45 +04:00
Rikitav bf66431089 * Added "INamedFilter" to tagging filters. Required for fallbacking system
* AnonymousCompiledFilter now has undependent realization
* All internal filters now implement INamedFilter interface
* Added new static methods to "Filter" class
* Added Filters fallbacking system
* Added "FiltersFallback" method in "UpdatehandlerBase"
* Changed filters validating system to be able to report failed filters
* Added "FiltersFallbackReport" class
* Added "FormReport" Property to "UpdateHandlerAttributeBase"
* Version incremented
2025-08-08 17:04:56 +04:00
Rikitav a794b6ed54 * Version incremented
* Added ability to handle errors during filters validation inside Handlers
* Moved Result class to root directory
* Added FilterOrigin enum
2025-08-04 05:11:59 +04:00
Rikitav afb500cfc6 * Added IOptions services checking for host builders 2025-08-04 04:33:34 +04:00
Rikitav 1e0b5078c6 Fixed logging call inside main lib 2025-08-03 03:42:27 +04:00
Rikitav a87a07d939 * Added Logging abstraction for base library
* Version incremented
2025-08-03 03:29:15 +04:00
Rikitav 692f0e0875 * README tweaks 2025-08-02 03:36:48 +04:00
Rikitav 02e23eefdd * version incremented 2025-08-02 03:23:33 +04:00
Rikitav 8e0d271901 * Fixed method handlers behaviour 2025-08-02 03:19:52 +04:00
Rikitav 16d11990ec * Added Result class to communicate with router from handler
* Removed "ExecuteOnlyFirstFoundHanlder" in sake of testing new Result pattern based routing system
* Removed obsolete option property "DescendDescriptorIndex"
* Changed router logic
* Changed handlers pool logic
2025-08-02 02:32:38 +04:00
Rikitav b8e4398b50 * Moved configuration to post build actions
* Added option to completelly disable automatic configuration
2025-08-02 00:27:23 +04:00
Rikitav a5bfe7da24 * version incremented
* Added XML summaries to new members
* Added TrySetInstance to HandlerDescriptor. Exception-free version of SetInstance method
* Changed singleton ionstance setting in HandlersProvidedr
2025-08-01 15:11:05 +04:00
Rikitav 49310439e0 * Renamed "LeveledDebug" to "Alligator", cuz its funny name
* Changed debug writing to trace writing inside "Alligator"
* Added "HostedTelegramBotInfo" representing hosted version of ITelegramBotInfo. Provides access to services and configuration
* Filters now can acces services and configuration using new "HostedTelegramBotInfo" through context.BotInfo property
2025-08-01 13:50:21 +04:00
Rikitav 5320c9ec20 * Changed public API overview generator behaviour, now working only in DEBUG builds
* Fixed wrong LeveldDebug method calls after moving logic from providers to router
* Added independent "IndentFlags" property to inner debugger class
* Fixed debug logging in few places
* Removed "ICollectingOptions" and merged it with new options abstract "ITelegratorOptions"
* Added WebHook version of hosting class
2025-07-28 20:35:48 +04:00
Rikitav 4e53337496 * Version incremented and made a little cleanup 2025-07-28 04:19:39 +04:00
Rikitav 6a18d9765b * Added "LazyInitialize" property to "HandlerDescriptor" to make post-creation operation (required for BranchingHandler)
* Tweaked "HandlersProvider" implementation to fit new HandlerDescriptor property
* Fixed "BranchingHandler"'s descriptor creation logic
2025-07-28 03:53:13 +04:00
Rikitav 76cf6eb4a2 * Fixed default's HandlersProvider instance creation
* Fixed all of the message filters faulting because of wrong execution sequence
* Removed default Host loggers
* Fixed descriptors indexing
2025-07-28 01:40:04 +04:00
Rikitav b01d576564 * Little renaming in StateKeeping namespace
* Changed "FilterAnnotation{T}" to work withou type specific sub-classes
* Changed interfaces "IUpdateRouter" and "IHandlersProvider" to match their names more correctly. Before filter validating was on providers, now its router works AS ITS SHOULD BE
2025-07-27 14:19:40 +04:00
Rikitav b86699a65e * Improved "MessageChatTypeFilter", now accepts flagged version of "ChatType" enum. "ChatTypeFlags"
* Added classes to reactive update filter annotations implementation "FilterAnnotation"
* "CollectHandlersDowmainWide" method moved as extension to IHandlersCollection and added method "CollectHandlerAssemblyWide" named respectfully
* Added "DefaultRouterExceptionHandler" to reactive implement "IRouterExceptionHandler" from function delegate
* Small bug fixes in API overview generator logic
2025-07-26 21:03:42 +04:00
Rikitav cec7c88b6a * Renamed "concurrency" parameters in handlers attributes to more relevant and intuitive "importance" parameter
* Added debug logging helper that use default Debug tracer to trace filter, providers, routers and pool execution
* Added debug logging for failing during handlers resolving, filters
* Added new "CreateEmptyBuilder" methods for TelegramBotHost class
* Addede ability to name handlers using "DisplayNameAttribute". This name is writed to descriptor's "DisplayString" property
* Fixed missing summaries inside Hosting library
2025-07-26 00:01:46 +04:00
Rikitav 78c7f41489 Removed doubled filters variations for reply-chain message filtering
Instead using MessageRepliedAttribute to filter messages in reply-chain
Old types renamed to new framework name
2025-07-25 01:26:32 +04:00
Rikitav b60b4c5f01 Enabled NuGet package generation for hosting library 2025-07-24 23:30:52 +04:00
Rikitav 33d1f6218a Добавьте файлы проекта. 2025-07-24 23:19:59 +04:00