generator bug fix

This commit is contained in:
2026-03-06 23:27:11 +04:00
parent 866129f2ff
commit 1ebf4ec22a
16 changed files with 2551 additions and 2588 deletions
@@ -17,7 +17,7 @@ namespace Telegrator.RoslynGenerators
private static readonly string[] DefaultUsings = private static readonly string[] DefaultUsings =
[ [
"Telegrator.Handlers.Building", "Telegrator.Handlers.Building",
"Telegrator.Handlers.Building.Components" "Telegrator.Core.Handlers.Building"
]; ];
private static readonly ParameterSyntax ExtensionMethodThisParam = SyntaxFactory.Parameter(SyntaxFactory.Identifier("builder")).WithType(SyntaxFactory.IdentifierName("TBuilder").WithLeadingTrivia(SyntaxFactory.SyntaxTrivia(SyntaxKind.WhitespaceTrivia, " ")).WithTrailingTrivia(WhitespaceTrivia)).WithModifiers([SyntaxFactory.Token(SyntaxKind.ThisKeyword)]); private static readonly ParameterSyntax ExtensionMethodThisParam = SyntaxFactory.Parameter(SyntaxFactory.Identifier("builder")).WithType(SyntaxFactory.IdentifierName("TBuilder").WithLeadingTrivia(SyntaxFactory.SyntaxTrivia(SyntaxKind.WhitespaceTrivia, " ")).WithTrailingTrivia(WhitespaceTrivia)).WithModifiers([SyntaxFactory.Token(SyntaxKind.ThisKeyword)]);
+31 -31
View File
@@ -4,33 +4,12 @@
<name>Telegrator.Hosting.Web</name> <name>Telegrator.Hosting.Web</name>
</assembly> </assembly>
<members> <members>
<member name="T:Telegrator.Hosting.Web.Components.ITelegramBotWebHost"> <member name="T:Telegrator.Hosting.Web.ITelegramBotWebHost">
<summary> <summary>
Interface for Telegram bot hosts with Webhook update receiving. Interface for Telegram bot hosts with Webhook update receiving.
Combines wbe application capabilities with reactive Telegram bot functionality. Combines wbe application capabilities with reactive Telegram bot functionality.
</summary> </summary>
</member> </member>
<member name="T:Telegrator.Hosting.Web.Polling.HostedUpdateWebhooker">
<summary>
Service for receiving updates for Hosted telegram bots via Webhooks
</summary>
</member>
<member name="M:Telegrator.Hosting.Web.Polling.HostedUpdateWebhooker.#ctor(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,Telegram.Bot.ITelegramBotClient,Telegrator.MadiatorCore.IUpdateRouter,Microsoft.Extensions.Options.IOptions{Telegrator.Hosting.Web.TelegratorWebOptions})">
<summary>
Initiallizes new instance of <see cref="T:Telegrator.Hosting.Web.Polling.HostedUpdateWebhooker"/>
</summary>
<param name="botHost"></param>
<param name="botClient"></param>
<param name="updateRouter"></param>
<param name="options"></param>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="M:Telegrator.Hosting.Web.Polling.HostedUpdateWebhooker.StartAsync(System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="M:Telegrator.Hosting.Web.Polling.HostedUpdateWebhooker.StopAsync(System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="T:Telegrator.Hosting.Web.TelegramBotWebHost"> <member name="T:Telegrator.Hosting.Web.TelegramBotWebHost">
<summary> <summary>
Represents a web hosted telegram bot Represents a web hosted telegram bot
@@ -55,7 +34,7 @@
This application's logger This application's logger
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.Web.TelegramBotWebHost.#ctor(Microsoft.AspNetCore.Builder.WebApplicationBuilder,Telegrator.MadiatorCore.IHandlersCollection)"> <member name="M:Telegrator.Hosting.Web.TelegramBotWebHost.#ctor(Microsoft.AspNetCore.Builder.WebApplicationBuilder,Telegrator.Core.IHandlersCollection)">
<summary> <summary>
Initializes a new instance of the <see cref="T:Microsoft.AspNetCore.Builder.WebApplicationBuilder"/> class. Initializes a new instance of the <see cref="T:Microsoft.AspNetCore.Builder.WebApplicationBuilder"/> class.
</summary> </summary>
@@ -135,7 +114,7 @@
<param name="webApplicationBuilder"></param> <param name="webApplicationBuilder"></param>
<param name="settings"></param> <param name="settings"></param>
</member> </member>
<member name="M:Telegrator.Hosting.Web.TelegramBotWebHostBuilder.#ctor(Microsoft.AspNetCore.Builder.WebApplicationBuilder,Telegrator.Hosting.Web.TelegramBotWebOptions,Telegrator.MadiatorCore.IHandlersCollection)"> <member name="M:Telegrator.Hosting.Web.TelegramBotWebHostBuilder.#ctor(Microsoft.AspNetCore.Builder.WebApplicationBuilder,Telegrator.Hosting.Web.TelegramBotWebOptions,Telegrator.Core.IHandlersCollection)">
<summary> <summary>
Initializes a new instance of the <see cref="T:Telegrator.Hosting.Web.TelegramBotWebHostBuilder"/> class. Initializes a new instance of the <see cref="T:Telegrator.Hosting.Web.TelegramBotWebHostBuilder"/> class.
</summary> </summary>
@@ -203,26 +182,47 @@
Pass true to drop all pending updates Pass true to drop all pending updates
</summary> </summary>
</member> </member>
<member name="T:Telegrator.Hosting.Web.ServicesCollectionExtensions"> <member name="T:Telegrator.Mediation.HostedUpdateWebhooker">
<summary> <summary>
Contains extensions for <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> Service for receiving updates for Hosted telegram bots via Webhooks
Provides method to configure <see cref="T:Telegrator.Hosting.Web.Components.ITelegramBotWebHost"/>
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.Web.ServicesCollectionExtensions.AddTelegratorWeb(Microsoft.AspNetCore.Builder.WebApplicationBuilder,Telegrator.Hosting.Web.TelegramBotWebOptions,Telegrator.MadiatorCore.IHandlersCollection)"> <member name="M:Telegrator.Mediation.HostedUpdateWebhooker.#ctor(Microsoft.AspNetCore.Routing.IEndpointRouteBuilder,Telegram.Bot.ITelegramBotClient,Telegrator.Core.IUpdateRouter,Microsoft.Extensions.Options.IOptions{Telegrator.Hosting.Web.TelegratorWebOptions})">
<summary>
Initiallizes new instance of <see cref="T:Telegrator.Mediation.HostedUpdateWebhooker"/>
</summary>
<param name="botHost"></param>
<param name="botClient"></param>
<param name="updateRouter"></param>
<param name="options"></param>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="M:Telegrator.Mediation.HostedUpdateWebhooker.StartAsync(System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="M:Telegrator.Mediation.HostedUpdateWebhooker.StopAsync(System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="T:Telegrator.ServicesCollectionExtensions">
<summary>
Contains extensions for <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
Provides method to configure <see cref="T:Telegrator.Hosting.Web.ITelegramBotWebHost"/>
</summary>
</member>
<member name="M:Telegrator.ServicesCollectionExtensions.AddTelegratorWeb(Microsoft.AspNetCore.Builder.WebApplicationBuilder,Telegrator.Hosting.Web.TelegramBotWebOptions,Telegrator.Core.IHandlersCollection)">
<summary> <summary>
Replaces TelegramBotWebHostBuilder. Configures DI, options, and handlers. Replaces TelegramBotWebHostBuilder. Configures DI, options, and handlers.
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.Web.ServicesCollectionExtensions.UseTelegratorWeb(Microsoft.AspNetCore.Builder.WebApplication)"> <member name="M:Telegrator.ServicesCollectionExtensions.UseTelegratorWeb(Microsoft.AspNetCore.Builder.WebApplication)">
<summary> <summary>
Replaces the initialization logic from TelegramBotWebHost constructor. Replaces the initialization logic from TelegramBotWebHost constructor.
Initializes the bot and logs handlers on application startup. Initializes the bot and logs handlers on application startup.
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.Web.ServicesCollectionExtensions.AddTelegramWebhook(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> <member name="M:Telegrator.ServicesCollectionExtensions.AddTelegramWebhook(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary> <summary>
Registers <see cref="T:Telegram.Bot.ITelegramBotClient"/> service with <see cref="T:Telegrator.Hosting.Web.Polling.HostedUpdateWebhooker"/> to receive updates using webhook Registers <see cref="T:Telegram.Bot.ITelegramBotClient"/> service with <see cref="T:Telegrator.Mediation.HostedUpdateWebhooker"/> to receive updates using webhook
</summary> </summary>
<param name="services"></param> <param name="services"></param>
<returns></returns> <returns></returns>
+191 -191
View File
@@ -4,60 +4,21 @@
<name>Telegrator.Hosting</name> <name>Telegrator.Hosting</name>
</assembly> </assembly>
<members> <members>
<member name="T:Telegrator.Hosting.Components.IPreBuildingRoutine"> <member name="T:Telegrator.ConfigureOptionsProxy`1">
<summary>
Interface for pre-building routines that can be executed during host construction.
Allows for custom initialization and configuration steps before the bot host is built.
</summary>
</member>
<member name="M:Telegrator.Hosting.Components.IPreBuildingRoutine.PreBuildingRoutine(Telegrator.Hosting.Components.ITelegramBotHostBuilder)">
<summary>
Executes the pre-building routine on the specified host builder.
</summary>
<param name="hostBuilder">The host builder to configure.</param>
</member>
<member name="T:Telegrator.Hosting.Components.ITelegramBotHost">
<summary>
Interface for Telegram bot hosts.
Combines host application capabilities with reactive Telegram bot functionality.
</summary>
</member>
<member name="T:Telegrator.Hosting.Components.ITelegramBotHostBuilder">
<summary>
Interface for building Telegram bot hosts with dependency injection support.
Combines host application building capabilities with handler collection functionality.
</summary>
</member>
<member name="P:Telegrator.Hosting.Components.ITelegramBotHostBuilder.Configuration">
<summary>
Gets the set of key/value configuration properties.
</summary>
</member>
<member name="P:Telegrator.Hosting.Components.ITelegramBotHostBuilder.Logging">
<summary>
Gets a collection of logging providers for the application to compose. This is useful for adding new logging providers.
</summary>
</member>
<member name="P:Telegrator.Hosting.Components.ITelegramBotHostBuilder.Services">
<summary>
Gets a collection of services for the application to compose. This is useful for adding user provided or framework provided services.
</summary>
</member>
<member name="T:Telegrator.Hosting.Configuration.ConfigureOptionsProxy`1">
<summary> <summary>
Abstract base class for configuring options from configuration sources. Abstract base class for configuring options from configuration sources.
Provides a proxy pattern for binding configuration to strongly-typed options classes. Provides a proxy pattern for binding configuration to strongly-typed options classes.
</summary> </summary>
<typeparam name="TOptions">The type of options to configure.</typeparam> <typeparam name="TOptions">The type of options to configure.</typeparam>
</member> </member>
<member name="M:Telegrator.Hosting.Configuration.ConfigureOptionsProxy`1.Configure(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration)"> <member name="M:Telegrator.ConfigureOptionsProxy`1.Configure(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration)">
<summary> <summary>
Configures the options using the default configuration section. Configures the options using the default configuration section.
</summary> </summary>
<param name="services">The service collection to configure.</param> <param name="services">The service collection to configure.</param>
<param name="configuration">The configuration source.</param> <param name="configuration">The configuration source.</param>
</member> </member>
<member name="M:Telegrator.Hosting.Configuration.ConfigureOptionsProxy`1.Configure(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration)"> <member name="M:Telegrator.ConfigureOptionsProxy`1.Configure(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration)">
<summary> <summary>
Configures the options using a named configuration section. Configures the options using a named configuration section.
</summary> </summary>
@@ -65,7 +26,7 @@
<param name="name">The name of the configuration section.</param> <param name="name">The name of the configuration section.</param>
<param name="configuration">The configuration source.</param> <param name="configuration">The configuration source.</param>
</member> </member>
<member name="M:Telegrator.Hosting.Configuration.ConfigureOptionsProxy`1.Configure(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action{Microsoft.Extensions.Configuration.BinderOptions})"> <member name="M:Telegrator.ConfigureOptionsProxy`1.Configure(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
<summary> <summary>
Configures the options using a named configuration section with custom binder options. Configures the options using a named configuration section with custom binder options.
</summary> </summary>
@@ -74,52 +35,38 @@
<param name="configuration">The configuration source.</param> <param name="configuration">The configuration source.</param>
<param name="configureBinder">Optional action to configure the binder options.</param> <param name="configureBinder">Optional action to configure the binder options.</param>
</member> </member>
<member name="M:Telegrator.Hosting.Configuration.ConfigureOptionsProxy`1.Realize"> <member name="M:Telegrator.ConfigureOptionsProxy`1.Realize">
<summary> <summary>
Creates the actual options instance from the configuration. Creates the actual options instance from the configuration.
</summary> </summary>
<returns>The configured options instance.</returns> <returns>The configured options instance.</returns>
</member> </member>
<member name="T:Telegrator.Hosting.Configuration.TelegramBotClientOptionsProxy"> <member name="T:Telegrator.Core.IHostHandlersCollection">
<summary> <summary>
Internal proxy class for configuring Telegram bot client options from configuration. Collection class for managing handler descriptors organized by update type for host apps.
Extends ConfigureOptionsProxy to provide specific configuration for Telegram bot client options. Provides functionality for collecting, adding, scanning, and organizing handlers.
</summary> </summary>
</member> </member>
<member name="P:Telegrator.Hosting.Configuration.TelegramBotClientOptionsProxy.Token"> <member name="P:Telegrator.Core.IHostHandlersCollection.PreBuilderRoutines">
<summary> <summary>
Gets or sets the bot token. List of tasks that should be completed right before building the bot
</summary> </summary>
</member> </member>
<member name="P:Telegrator.Hosting.Configuration.TelegramBotClientOptionsProxy.BaseUrl"> <member name="T:Telegrator.Handlers.IPreBuildingRoutine">
<summary> <summary>
Gets or sets the base URL for the bot API. Interface for pre-building routines that can be executed during host construction.
Allows for custom initialization and configuration steps before the bot host is built.
</summary> </summary>
</member> </member>
<member name="P:Telegrator.Hosting.Configuration.TelegramBotClientOptionsProxy.UseTestEnvironment"> <member name="M:Telegrator.Handlers.IPreBuildingRoutine.PreBuildingRoutine(Telegrator.Hosting.ITelegramBotHostBuilder)">
<summary> <summary>
Gets or sets whether to use the test environment. Executes the pre-building routine on the specified host builder.
</summary> </summary>
</member> <param name="hostBuilder">The host builder to configure.</param>
<member name="P:Telegrator.Hosting.Configuration.TelegramBotClientOptionsProxy.RetryThreshold">
<summary>
Gets or sets the retry threshold in seconds.
</summary>
</member>
<member name="P:Telegrator.Hosting.Configuration.TelegramBotClientOptionsProxy.RetryCount">
<summary>
Gets or sets the number of retry attempts.
</summary>
</member>
<member name="M:Telegrator.Hosting.Configuration.TelegramBotClientOptionsProxy.Realize">
<summary>
Creates a TelegramBotClientOptions instance from the proxy configuration.
</summary>
<returns>The configured TelegramBotClientOptions instance.</returns>
</member> </member>
<member name="T:Telegrator.Hosting.HostedTelegramBotInfo"> <member name="T:Telegrator.Hosting.HostedTelegramBotInfo">
<summary> <summary>
Implementation of <see cref="T:Telegrator.Configuration.ITelegramBotInfo"/> that provides bot information. Implementation of <see cref="T:Telegrator.Core.ITelegramBotInfo"/> that provides bot information.
Contains metadata about the Telegram bot including user details and service provider for wider filterring abilities Contains metadata about the Telegram bot including user details and service provider for wider filterring abilities
</summary> </summary>
<param name="client"></param> <param name="client"></param>
@@ -128,7 +75,7 @@
</member> </member>
<member name="M:Telegrator.Hosting.HostedTelegramBotInfo.#ctor(Telegram.Bot.ITelegramBotClient,System.IServiceProvider,Microsoft.Extensions.Configuration.IConfigurationManager)"> <member name="M:Telegrator.Hosting.HostedTelegramBotInfo.#ctor(Telegram.Bot.ITelegramBotClient,System.IServiceProvider,Microsoft.Extensions.Configuration.IConfigurationManager)">
<summary> <summary>
Implementation of <see cref="T:Telegrator.Configuration.ITelegramBotInfo"/> that provides bot information. Implementation of <see cref="T:Telegrator.Core.ITelegramBotInfo"/> that provides bot information.
Contains metadata about the Telegram bot including user details and service provider for wider filterring abilities Contains metadata about the Telegram bot including user details and service provider for wider filterring abilities
</summary> </summary>
<param name="client"></param> <param name="client"></param>
@@ -148,121 +95,32 @@
Provides access to configuration of this Hosted telegram bot Provides access to configuration of this Hosted telegram bot
</summary> </summary>
</member> </member>
<member name="T:Telegrator.Hosting.Logging.MicrosoftLoggingAdapter"> <member name="T:Telegrator.Hosting.ITelegramBotHost">
<summary> <summary>
Adapter for Microsoft.Extensions.Logging to work with Telegrator logging system. Interface for Telegram bot hosts.
This allows seamless integration with ASP.NET Core logging infrastructure. Combines host application capabilities with reactive Telegram bot functionality.
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.Logging.MicrosoftLoggingAdapter.#ctor(Microsoft.Extensions.Logging.ILogger)"> <member name="T:Telegrator.Hosting.ITelegramBotHostBuilder">
<summary> <summary>
Initializes a new instance of MicrosoftLoggingAdapter. Interface for building Telegram bot hosts with dependency injection support.
</summary> Combines host application building capabilities with handler collection functionality.
<param name="logger">The Microsoft.Extensions.Logging logger instance.</param>
</member>
<member name="M:Telegrator.Hosting.Logging.MicrosoftLoggingAdapter.Log(Telegrator.Logging.LogLevel,System.String,System.Exception)">
<inheritdoc/>
</member>
<member name="T:Telegrator.Hosting.Polling.HostedUpdateReceiver">
<summary>
Service for receiving updates for Hosted telegram bots
</summary>
<param name="botHost"></param>
<param name="botClient"></param>
<param name="updateRouter"></param>
<param name="options"></param>
<param name="logger"></param>
</member>
<member name="M:Telegrator.Hosting.Polling.HostedUpdateReceiver.#ctor(Telegrator.Hosting.Components.ITelegramBotHost,Telegram.Bot.ITelegramBotClient,Telegrator.MadiatorCore.IUpdateRouter,Microsoft.Extensions.Options.IOptions{Telegram.Bot.Polling.ReceiverOptions},Microsoft.Extensions.Logging.ILogger{Telegrator.Hosting.Polling.HostedUpdateReceiver})">
<summary>
Service for receiving updates for Hosted telegram bots
</summary>
<param name="botHost"></param>
<param name="botClient"></param>
<param name="updateRouter"></param>
<param name="options"></param>
<param name="logger"></param>
</member>
<member name="M:Telegrator.Hosting.Polling.HostedUpdateReceiver.ExecuteAsync(System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="T:Telegrator.Hosting.Polling.HostUpdateHandlersPool">
<inheritdoc/>
</member>
<member name="M:Telegrator.Hosting.Polling.HostUpdateHandlersPool.#ctor(Telegrator.MadiatorCore.IUpdateRouter,Microsoft.Extensions.Options.IOptions{Telegrator.TelegratorOptions})">
<inheritdoc/>
</member>
<member name="T:Telegrator.Hosting.Polling.HostUpdateRouter">
<inheritdoc/>
</member>
<member name="F:Telegrator.Hosting.Polling.HostUpdateRouter.Logger">
<summary>
<see cref="T:Microsoft.Extensions.Logging.ILogger"/> of this router
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.Polling.HostUpdateRouter.#ctor(Telegrator.MadiatorCore.IHandlersProvider,Telegrator.MadiatorCore.IAwaitingProvider,Microsoft.Extensions.Options.IOptions{Telegrator.TelegratorOptions},Telegrator.MadiatorCore.IUpdateHandlersPool,Telegrator.Configuration.ITelegramBotInfo,Microsoft.Extensions.Logging.ILogger{Telegrator.Hosting.Polling.HostUpdateRouter})"> <member name="P:Telegrator.Hosting.ITelegramBotHostBuilder.Configuration">
<inheritdoc/>
</member>
<member name="M:Telegrator.Hosting.Polling.HostUpdateRouter.HandleUpdateAsync(Telegram.Bot.ITelegramBotClient,Telegram.Bot.Types.Update,System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="M:Telegrator.Hosting.Polling.HostUpdateRouter.HandleException(Telegram.Bot.ITelegramBotClient,System.Exception,Telegram.Bot.Polling.HandleErrorSource,System.Threading.CancellationToken)">
<summary> <summary>
Default exception handler of this router Gets the set of key/value configuration properties.
</summary>
<param name="botClient"></param>
<param name="exception"></param>
<param name="source"></param>
<param name="cancellationToken"></param>
</member>
<member name="T:Telegrator.Hosting.Providers.Components.IHostHandlersCollection">
<summary>
Collection class for managing handler descriptors organized by update type for host apps.
Provides functionality for collecting, adding, scanning, and organizing handlers.
</summary> </summary>
</member> </member>
<member name="P:Telegrator.Hosting.Providers.Components.IHostHandlersCollection.PreBuilderRoutines"> <member name="P:Telegrator.Hosting.ITelegramBotHostBuilder.Logging">
<summary> <summary>
List of tasks that should be completed right before building the bot Gets a collection of logging providers for the application to compose. This is useful for adding new logging providers.
</summary> </summary>
</member> </member>
<member name="T:Telegrator.Hosting.Providers.HostAwaitingProvider"> <member name="P:Telegrator.Hosting.ITelegramBotHostBuilder.Services">
<inheritdoc/>
</member>
<member name="M:Telegrator.Hosting.Providers.HostAwaitingProvider.#ctor(Microsoft.Extensions.Options.IOptions{Telegrator.TelegratorOptions},Microsoft.Extensions.Logging.ILogger{Telegrator.Hosting.Providers.HostAwaitingProvider})">
<inheritdoc/>
</member>
<member name="T:Telegrator.Hosting.Providers.PreBuildingRoutine">
<summary> <summary>
Pre host building task Gets a collection of services for the application to compose. This is useful for adding user provided or framework provided services.
</summary> </summary>
<param name="builder"></param>
</member>
<member name="T:Telegrator.Hosting.Providers.HostHandlersCollection">
<inheritdoc/>
</member>
<member name="M:Telegrator.Hosting.Providers.HostHandlersCollection.#ctor(Microsoft.Extensions.DependencyInjection.IServiceCollection,Telegrator.Configuration.ITelegratorOptions)">
<inheritdoc/>
</member>
<member name="P:Telegrator.Hosting.Providers.HostHandlersCollection.MustHaveParameterlessCtor">
<inheritdoc/>
</member>
<member name="P:Telegrator.Hosting.Providers.HostHandlersCollection.PreBuilderRoutines">
<summary>
List of tasks that should be completed right before building the bot
</summary>
</member>
<member name="M:Telegrator.Hosting.Providers.HostHandlersCollection.AddDescriptor(Telegrator.MadiatorCore.Descriptors.HandlerDescriptor)">
<inheritdoc/>
</member>
<member name="T:Telegrator.Hosting.Providers.HostHandlersProvider">
<inheritdoc/>
</member>
<member name="M:Telegrator.Hosting.Providers.HostHandlersProvider.#ctor(Telegrator.MadiatorCore.IHandlersCollection,Microsoft.Extensions.Options.IOptions{Telegrator.TelegratorOptions},System.IServiceProvider,Microsoft.Extensions.Logging.ILogger{Telegrator.Hosting.Providers.HostHandlersProvider})">
<inheritdoc/>
</member>
<member name="M:Telegrator.Hosting.Providers.HostHandlersProvider.GetHandlerInstance(Telegrator.MadiatorCore.Descriptors.HandlerDescriptor,System.Threading.CancellationToken)">
<inheritdoc/>
</member> </member>
<member name="T:Telegrator.Hosting.TelegramBotHost"> <member name="T:Telegrator.Hosting.TelegramBotHost">
<summary> <summary>
@@ -280,7 +138,7 @@
This application's logger This application's logger
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.TelegramBotHost.#ctor(Microsoft.Extensions.Hosting.HostApplicationBuilder,Telegrator.MadiatorCore.IHandlersCollection)"> <member name="M:Telegrator.Hosting.TelegramBotHost.#ctor(Microsoft.Extensions.Hosting.HostApplicationBuilder,Telegrator.Core.IHandlersCollection)">
<summary> <summary>
Initializes a new instance of the <see cref="T:Telegrator.Hosting.TelegramBotHost"/> class. Initializes a new instance of the <see cref="T:Telegrator.Hosting.TelegramBotHost"/> class.
</summary> </summary>
@@ -349,7 +207,7 @@
<param name="hostApplicationBuilder"></param> <param name="hostApplicationBuilder"></param>
<param name="settings"></param> <param name="settings"></param>
</member> </member>
<member name="M:Telegrator.Hosting.TelegramBotHostBuilder.#ctor(Microsoft.Extensions.Hosting.HostApplicationBuilder,Telegrator.MadiatorCore.IHandlersCollection,Telegrator.Hosting.TelegramBotHostBuilderSettings)"> <member name="M:Telegrator.Hosting.TelegramBotHostBuilder.#ctor(Microsoft.Extensions.Hosting.HostApplicationBuilder,Telegrator.Core.IHandlersCollection,Telegrator.Hosting.TelegramBotHostBuilderSettings)">
<summary> <summary>
Initializes a new instance of the <see cref="T:Telegrator.Hosting.TelegramBotHostBuilder"/> class. Initializes a new instance of the <see cref="T:Telegrator.Hosting.TelegramBotHostBuilder"/> class.
</summary> </summary>
@@ -396,20 +254,162 @@
<member name="P:Telegrator.Hosting.TelegramBotHostBuilderSettings.ContentRootPath"> <member name="P:Telegrator.Hosting.TelegramBotHostBuilderSettings.ContentRootPath">
<inheritdoc cref="P:Microsoft.Extensions.Hosting.HostApplicationBuilderSettings.ContentRootPath"/> <inheritdoc cref="P:Microsoft.Extensions.Hosting.HostApplicationBuilderSettings.ContentRootPath"/>
</member> </member>
<member name="M:Telegrator.Hosting.HostBuilderExtensions.AddTelegrator(Microsoft.Extensions.Hosting.IHostApplicationBuilder,Telegrator.Hosting.TelegramBotHostBuilderSettings,Telegrator.MadiatorCore.IHandlersCollection)"> <member name="T:Telegrator.Logging.MicrosoftLoggingAdapter">
<summary>
Adapter for Microsoft.Extensions.Logging to work with Telegrator logging system.
This allows seamless integration with ASP.NET Core logging infrastructure.
</summary>
</member>
<member name="M:Telegrator.Logging.MicrosoftLoggingAdapter.#ctor(Microsoft.Extensions.Logging.ILogger)">
<summary>
Initializes a new instance of MicrosoftLoggingAdapter.
</summary>
<param name="logger">The Microsoft.Extensions.Logging logger instance.</param>
</member>
<member name="M:Telegrator.Logging.MicrosoftLoggingAdapter.Log(Telegrator.Logging.LogLevel,System.String,System.Exception)">
<inheritdoc/>
</member>
<member name="T:Telegrator.Polling.HostedUpdateReceiver">
<summary>
Service for receiving updates for Hosted telegram bots
</summary>
<param name="botHost"></param>
<param name="botClient"></param>
<param name="updateRouter"></param>
<param name="options"></param>
<param name="logger"></param>
</member>
<member name="M:Telegrator.Polling.HostedUpdateReceiver.#ctor(Telegrator.Hosting.ITelegramBotHost,Telegram.Bot.ITelegramBotClient,Telegrator.Core.IUpdateRouter,Microsoft.Extensions.Options.IOptions{Telegram.Bot.Polling.ReceiverOptions},Microsoft.Extensions.Logging.ILogger{Telegrator.Polling.HostedUpdateReceiver})">
<summary>
Service for receiving updates for Hosted telegram bots
</summary>
<param name="botHost"></param>
<param name="botClient"></param>
<param name="updateRouter"></param>
<param name="options"></param>
<param name="logger"></param>
</member>
<member name="M:Telegrator.Polling.HostedUpdateReceiver.ExecuteAsync(System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="T:Telegrator.Polling.HostUpdateHandlersPool">
<inheritdoc/>
</member>
<member name="M:Telegrator.Polling.HostUpdateHandlersPool.#ctor(Telegrator.Core.IUpdateRouter,Microsoft.Extensions.Options.IOptions{Telegrator.TelegratorOptions})">
<inheritdoc/>
</member>
<member name="T:Telegrator.Polling.HostUpdateRouter">
<inheritdoc/>
</member>
<member name="F:Telegrator.Polling.HostUpdateRouter.Logger">
<summary>
<see cref="T:Microsoft.Extensions.Logging.ILogger"/> of this router
</summary>
</member>
<member name="M:Telegrator.Polling.HostUpdateRouter.#ctor(Telegrator.Core.IHandlersProvider,Telegrator.Core.IAwaitingProvider,Microsoft.Extensions.Options.IOptions{Telegrator.TelegratorOptions},Telegrator.Core.IUpdateHandlersPool,Telegrator.Core.ITelegramBotInfo,Microsoft.Extensions.Logging.ILogger{Telegrator.Polling.HostUpdateRouter})">
<inheritdoc/>
</member>
<member name="M:Telegrator.Polling.HostUpdateRouter.HandleUpdateAsync(Telegram.Bot.ITelegramBotClient,Telegram.Bot.Types.Update,System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="M:Telegrator.Polling.HostUpdateRouter.HandleException(Telegram.Bot.ITelegramBotClient,System.Exception,Telegram.Bot.Polling.HandleErrorSource,System.Threading.CancellationToken)">
<summary>
Default exception handler of this router
</summary>
<param name="botClient"></param>
<param name="exception"></param>
<param name="source"></param>
<param name="cancellationToken"></param>
</member>
<member name="T:Telegrator.Providers.HostAwaitingProvider">
<inheritdoc/>
</member>
<member name="M:Telegrator.Providers.HostAwaitingProvider.#ctor(Microsoft.Extensions.Options.IOptions{Telegrator.TelegratorOptions},Microsoft.Extensions.Logging.ILogger{Telegrator.Providers.HostAwaitingProvider})">
<inheritdoc/>
</member>
<member name="T:Telegrator.Providers.PreBuildingRoutine">
<summary>
Pre host building task
</summary>
<param name="builder"></param>
</member>
<member name="T:Telegrator.Providers.HostHandlersCollection">
<inheritdoc/>
</member>
<member name="M:Telegrator.Providers.HostHandlersCollection.#ctor(Microsoft.Extensions.DependencyInjection.IServiceCollection,Telegrator.TelegratorOptions)">
<inheritdoc/>
</member>
<member name="P:Telegrator.Providers.HostHandlersCollection.MustHaveParameterlessCtor">
<inheritdoc/>
</member>
<member name="P:Telegrator.Providers.HostHandlersCollection.PreBuilderRoutines">
<summary>
List of tasks that should be completed right before building the bot
</summary>
</member>
<member name="M:Telegrator.Providers.HostHandlersCollection.AddDescriptor(Telegrator.Core.Descriptors.HandlerDescriptor)">
<inheritdoc/>
</member>
<member name="T:Telegrator.Providers.HostHandlersProvider">
<inheritdoc/>
</member>
<member name="M:Telegrator.Providers.HostHandlersProvider.#ctor(Telegrator.Core.IHandlersCollection,Microsoft.Extensions.Options.IOptions{Telegrator.TelegratorOptions},System.IServiceProvider,Microsoft.Extensions.Logging.ILogger{Telegrator.Providers.HostHandlersProvider})">
<inheritdoc/>
</member>
<member name="M:Telegrator.Providers.HostHandlersProvider.GetHandlerInstance(Telegrator.Core.Descriptors.HandlerDescriptor,System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="T:Telegrator.TelegramBotClientOptionsProxy">
<summary>
Internal proxy class for configuring Telegram bot client options from configuration.
Extends ConfigureOptionsProxy to provide specific configuration for Telegram bot client options.
</summary>
</member>
<member name="P:Telegrator.TelegramBotClientOptionsProxy.Token">
<summary>
Gets or sets the bot token.
</summary>
</member>
<member name="P:Telegrator.TelegramBotClientOptionsProxy.BaseUrl">
<summary>
Gets or sets the base URL for the bot API.
</summary>
</member>
<member name="P:Telegrator.TelegramBotClientOptionsProxy.UseTestEnvironment">
<summary>
Gets or sets whether to use the test environment.
</summary>
</member>
<member name="P:Telegrator.TelegramBotClientOptionsProxy.RetryThreshold">
<summary>
Gets or sets the retry threshold in seconds.
</summary>
</member>
<member name="P:Telegrator.TelegramBotClientOptionsProxy.RetryCount">
<summary>
Gets or sets the number of retry attempts.
</summary>
</member>
<member name="M:Telegrator.TelegramBotClientOptionsProxy.Realize">
<summary>
Creates a TelegramBotClientOptions instance from the proxy configuration.
</summary>
<returns>The configured TelegramBotClientOptions instance.</returns>
</member>
<member name="M:Telegrator.HostBuilderExtensions.AddTelegrator(Microsoft.Extensions.Hosting.IHostApplicationBuilder,Telegrator.Hosting.TelegramBotHostBuilderSettings,Telegrator.Core.IHandlersCollection)">
<summary> <summary>
Replaces TelegramBotWebHostBuilder. Configures DI, options, and handlers. Replaces TelegramBotWebHostBuilder. Configures DI, options, and handlers.
</summary> </summary>
</member> </member>
<member name="T:Telegrator.Hosting.ServicesCollectionExtensions"> <member name="T:Telegrator.ServicesCollectionExtensions">
<summary> <summary>
Contains extensions for <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> Contains extensions for <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
Provides method to configure <see cref="T:Telegrator.Hosting.Components.ITelegramBotHost"/> Provides method to configure <see cref="T:Telegrator.Hosting.ITelegramBotHost"/>
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.ServicesCollectionExtensions.Configure``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,Telegrator.Hosting.Configuration.ConfigureOptionsProxy{``0})"> <member name="M:Telegrator.ServicesCollectionExtensions.Configure``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,Telegrator.ConfigureOptionsProxy{``0})">
<summary> <summary>
Registers a configuration instance that strongly-typed <typeparamref name="TOptions"/> will bind against using <see cref="T:Telegrator.Hosting.Configuration.ConfigureOptionsProxy`1"/>. Registers a configuration instance that strongly-typed <typeparamref name="TOptions"/> will bind against using <see cref="T:Telegrator.ConfigureOptionsProxy`1"/>.
</summary> </summary>
<typeparam name="TOptions"></typeparam> <typeparam name="TOptions"></typeparam>
<param name="services"></param> <param name="services"></param>
@@ -417,21 +417,21 @@
<param name="optionsProxy"></param> <param name="optionsProxy"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Telegrator.Hosting.ServicesCollectionExtensions.AddTelegramBotHostDefaults(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> <member name="M:Telegrator.ServicesCollectionExtensions.AddTelegramBotHostDefaults(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary> <summary>
Registers <see cref="T:Telegrator.Hosting.TelegramBotHost"/> default services Registers <see cref="T:Telegrator.Hosting.TelegramBotHost"/> default services
</summary> </summary>
<param name="services"></param> <param name="services"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Telegrator.Hosting.ServicesCollectionExtensions.AddTelegramReceiver(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> <member name="M:Telegrator.ServicesCollectionExtensions.AddTelegramReceiver(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary> <summary>
Registers <see cref="T:Telegram.Bot.ITelegramBotClient"/> service with <see cref="T:Telegrator.Hosting.Polling.HostedUpdateReceiver"/> to receive updates using long polling Registers <see cref="T:Telegram.Bot.ITelegramBotClient"/> service with <see cref="T:Telegrator.Polling.HostedUpdateReceiver"/> to receive updates using long polling
</summary> </summary>
<param name="services"></param> <param name="services"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Telegrator.Hosting.ServicesCollectionExtensions.TypedTelegramBotClientFactory(System.Net.Http.HttpClient,System.IServiceProvider)"> <member name="M:Telegrator.ServicesCollectionExtensions.TypedTelegramBotClientFactory(System.Net.Http.HttpClient,System.IServiceProvider)">
<summary> <summary>
<see cref="T:Telegram.Bot.ITelegramBotClient"/> factory method <see cref="T:Telegram.Bot.ITelegramBotClient"/> factory method
</summary> </summary>
@@ -439,38 +439,38 @@
<param name="provider"></param> <param name="provider"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:Telegrator.Hosting.TelegramBotHostExtensions"> <member name="T:Telegrator.TelegramBotHostExtensions">
<summary> <summary>
Provides useful methods to adjust <see cref="T:Telegrator.Hosting.Components.ITelegramBotHost"/> Provides useful methods to adjust <see cref="T:Telegrator.Hosting.ITelegramBotHost"/>
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.TelegramBotHostExtensions.UseTelegrator(Microsoft.Extensions.Hosting.IHost)"> <member name="M:Telegrator.TelegramBotHostExtensions.UseTelegrator(Microsoft.Extensions.Hosting.IHost)">
<summary> <summary>
Replaces the initialization logic from TelegramBotWebHost constructor. Replaces the initialization logic from TelegramBotWebHost constructor.
Initializes the bot and logs handlers on application startup. Initializes the bot and logs handlers on application startup.
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.TelegramBotHostExtensions.SetBotCommands(Microsoft.Extensions.Hosting.IHost)"> <member name="M:Telegrator.TelegramBotHostExtensions.SetBotCommands(Microsoft.Extensions.Hosting.IHost)">
<summary> <summary>
Configures bots available commands depending on what handlers was registered Configures bots available commands depending on what handlers was registered
</summary> </summary>
<param name="botHost"></param> <param name="botHost"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Telegrator.Hosting.TelegramBotHostExtensions.AddLoggingAdapter(Microsoft.Extensions.Hosting.IHost)"> <member name="M:Telegrator.TelegramBotHostExtensions.AddLoggingAdapter(Microsoft.Extensions.Hosting.IHost)">
<summary> <summary>
Adds a Microsoft.Extensions.Logging adapter to Alligator using a logger factory. Adds a Microsoft.Extensions.Logging adapter to Alligator using a logger factory.
</summary> </summary>
<param name="host"></param> <param name="host"></param>
</member> </member>
<member name="T:Telegrator.Hosting.ReflectionExtensions"> <member name="T:Telegrator.ReflectionExtensions">
<summary> <summary>
Provides extension methods for reflection and type inspection. Provides extension methods for reflection and type inspection.
</summary> </summary>
</member> </member>
<member name="M:Telegrator.Hosting.ReflectionExtensions.IsPreBuildingRoutine(System.Type,System.Reflection.MethodInfo@)"> <member name="M:Telegrator.ReflectionExtensions.IsPreBuildingRoutine(System.Type,System.Reflection.MethodInfo@)">
<summary> <summary>
Checks if a type implements the <see cref="T:Telegrator.Hosting.Components.IPreBuildingRoutine"/> interface. Checks if a type implements the <see cref="T:Telegrator.Handlers.IPreBuildingRoutine"/> interface.
</summary> </summary>
<param name="handlerType">The type to check.</param> <param name="handlerType">The type to check.</param>
<param name="routineMethod"></param> <param name="routineMethod"></param>
+2324 -2350
View File
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,6 @@ using Microsoft.Extensions.Options;
using Telegram.Bot; using Telegram.Bot;
using Telegrator; using Telegrator;
using Telegrator.Core; using Telegrator.Core;
using Telegrator.Hosting.Configuration;
using Telegrator.Providers; using Telegrator.Providers;
#pragma warning disable IDE0001 #pragma warning disable IDE0001
@@ -3,7 +3,7 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Telegrator.Core; using Telegrator.Core;
using Telegrator.Hosting.Providers; using Telegrator.Providers;
#pragma warning disable IDE0001 #pragma warning disable IDE0001
namespace Telegrator.Hosting namespace Telegrator.Hosting
@@ -1,6 +1,5 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using System.Reflection; using System.Reflection;
using Telegrator.Configuration;
using Telegrator.Core; using Telegrator.Core;
using Telegrator.Core.Descriptors; using Telegrator.Core.Descriptors;
using Telegrator.Hosting; using Telegrator.Hosting;
@@ -17,7 +17,6 @@ using Telegrator.Core;
using Telegrator.Core.Descriptors; using Telegrator.Core.Descriptors;
using Telegrator.Handlers; using Telegrator.Handlers;
using Telegrator.Hosting; using Telegrator.Hosting;
using Telegrator.Hosting.Configuration;
using Telegrator.Logging; using Telegrator.Logging;
using Telegrator.Polling; using Telegrator.Polling;
using Telegrator.Providers; using Telegrator.Providers;
@@ -1,5 +1,4 @@
using Telegram.Bot.Types; using Telegram.Bot.Types;
using Telegrator.Handlers.Components;
namespace Telegrator.Localized namespace Telegrator.Localized
{ {
@@ -1,8 +1,6 @@
using System.Collections; using System.Collections;
using Telegram.Bot.Types; using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums; using Telegram.Bot.Types.Enums;
using Telegrator.Configuration;
using Telegrator.Core;
namespace Telegrator.Core.Descriptors namespace Telegrator.Core.Descriptors
{ {
@@ -5,7 +5,6 @@ using Telegrator.Core.Attributes;
using Telegrator.Core.Descriptors; using Telegrator.Core.Descriptors;
using Telegrator.Core.Filters; using Telegrator.Core.Filters;
using Telegrator.Handlers; using Telegrator.Handlers;
using Telegrator.MadiatorCore;
namespace Telegrator.Core.Handlers namespace Telegrator.Core.Handlers
{ {
@@ -1,5 +1,4 @@
using Telegrator.Core.Descriptors; using Telegrator.Core.Descriptors;
using Telegrator.MadiatorCore;
namespace Telegrator.Core.Handlers namespace Telegrator.Core.Handlers
{ {
+1 -3
View File
@@ -1,5 +1,4 @@
using System.Runtime.InteropServices; using System.Text;
using System.Text;
using Telegram.Bot; using Telegram.Bot;
using Telegram.Bot.Polling; using Telegram.Bot.Polling;
using Telegram.Bot.Types; using Telegram.Bot.Types;
@@ -10,7 +9,6 @@ using Telegrator.Core.Filters;
using Telegrator.Core.Handlers; using Telegrator.Core.Handlers;
using Telegrator.Handlers.Diagnostics; using Telegrator.Handlers.Diagnostics;
using Telegrator.Logging; using Telegrator.Logging;
using Telegrator.Polling;
namespace Telegrator.Mediation namespace Telegrator.Mediation
{ {
-1
View File
@@ -3,7 +3,6 @@ using Telegram.Bot.Polling;
using Telegrator.Core; using Telegrator.Core;
using Telegrator.Logging; using Telegrator.Logging;
using Telegrator.Mediation; using Telegrator.Mediation;
using Telegrator.Polling;
using Telegrator.Providers; using Telegrator.Providers;
namespace Telegrator namespace Telegrator
@@ -1,7 +1,7 @@
using FluentAssertions; using FluentAssertions;
using Telegram.Bot.Types.Enums; using Telegram.Bot.Types.Enums;
using Telegrator.Core.Descriptors; using Telegrator.Core.Descriptors;
using Telegrator.Filters.Components; using Telegrator.Core.Filters;
using Xunit; using Xunit;
namespace Telegrator.Tests.Collections namespace Telegrator.Tests.Collections
@@ -1,7 +1,7 @@
using FluentAssertions; using FluentAssertions;
using Telegram.Bot.Types; using Telegram.Bot.Types;
using Telegrator.Core.Filters;
using Telegrator.Filters; using Telegrator.Filters;
using Telegrator.Filters.Components;
using Xunit; using Xunit;
#pragma warning disable CS8625 #pragma warning disable CS8625