Commit Graph

33 Commits

Author SHA1 Message Date
Rikitav a18eab0f31 * Fixed minor building errors 2026-03-06 21:05:57 +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 21ec3e5f11 Fixed typo in 'CommandAllias' and 'Response' 2026-03-06 15:15:48 +04:00
Rikitav 29c3b8df81 Added little skip for results returning, Ok, Fault and Next properties to UpdateHandlerBase, now instaed of 'return Result.Ok();' you can just type 'return Ok;' 2026-03-06 15:10:41 +04:00
gutii 5a3640bc9f Added localization addon 2026-02-27 19:18:18 +04:00
Rikitav 7cd95b9e64 code cleanup 2025-09-10 21:40:58 +04:00
Rikitav 70ee6eb9c1 * Removed default filters comparison methods from 'FiltersFallbackReport'
* Added 'ReportInspector' for patterned filters diagnostic
* Moved some extension methods to corresponding namespaces and separated simple type extensions from complex types extensions
2025-08-25 02:46:43 +04:00
Rikitav 81b6e50fe9 Added missing XML-Summaries 2025-08-24 01:22:59 +04:00
Rikitav d99b10f692 * Added new method for filters report inspection
* Added ArgumentCount filter
* Fixed AddHandler method throwing exception on handler without parameterless constructors
2025-08-24 01:13:35 +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 c809470fb0 * Implicit handlers building extensions generator refactored
* Telegram.Bot package updated
2025-08-18 20:32:24 +04:00
Rikitav 68e171f082 Added types for future State keepers overhaul 2025-08-13 01:11:42 +04:00
Rikitav cbfb1d4e8d * minor changes to state keepers 2025-08-13 00:58:37 +04:00
Rikitav ccfefa578d Changed summaries for InlineQueryHandler to match new restrict 2025-08-12 01:02:40 +04:00
Rikitav 8299551d69 Added missing XML summaries 2025-08-12 00:42: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 a1af9bdc3e * BugFixes
* Added basic command arguments filters
2025-08-10 18:59:31 +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 cee7ed3adc Added missing XML summaries 2025-08-08 17:15:57 +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 e790f31495 * Implemented IDisposable interface for handlers and added virtual method if such needed 2025-08-04 05:22:43 +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 6635d00648 * Code cleanup
* Moved handler execution logic from "DescribedHandlerInfo" to "UpdateHandlerBase"
* Added logging message on handler described
2025-08-04 04:25:00 +04:00
Rikitav 18e361322e * Added missing XML summaries to new CallbackQuery methods
* Fixed CallbackQuery's origin message resolving inside Callbback query container extension methods
2025-08-02 21:01:29 +04:00
HONOR 2293f24808 Add Response, EditText, AnswerCallback in CallbackQueryHandler 2025-08-02 03:11:07 +03:00
Rikitav 7d1ce6ea22 * Added mising XML summaries
* Obsolete code comments cleanup
2025-08-02 03:33:35 +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 92add58180 * moved WelcomeAttribute to a separate namespace for special case-targetted attribute
* Added "MethodHandlerDescriptor" a class that provides ability to implicitly create handlers from methods that matches the AbstractHandlerAction<T> delegate
* Added extension method for HandlersCollection for adding methods as handlers
2025-08-01 15:03:19 +04:00
Rikitav 6ea58b24da * Encapsulated "reply" and "respond" methods into extension methods for the container class 2025-08-01 14:02:01 +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 5a93623469 * Fixed "MentionedAttribute"
* Improved "MentionedFilter"
2025-07-28 02:48:06 +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 33d1f6218a Добавьте файлы проекта. 2025-07-24 23:19:59 +04:00