using Microsoft.AspNetCore.Builder; namespace Telegrator.Hosting.Web { /// /// Configuration options for Telegram bot behavior and execution settings. /// Controls various aspects of bot operation including concurrency, routing, webhook receiving, and execution policies. /// public class TelegramBotWebOptions : TelegratorOptions { /// /// Gets or sets HTTPS URL to send updates to. Use an empty string to remove webhook integration /// public required string WebhookUri { get; set; } /// /// A secret token to be sent in a header “X-Telegram-Bot-Api-Secret-Token” in every webhook request, 1-256 characters. /// Only characters A-Z, a-z, 0-9, _ and - are allowed. /// The header is useful to ensure that the request comes from a webhook set by you. /// public string? SecretToken { get; set; } /// /// The maximum allowed number of simultaneous HTTPS connections to the webhook for update delivery, 1-100. Defaults to 40. /// Use lower values to limit the load on your bot's server, and higher values to increase your bot's throughput. /// public int MaxConnections { get; set; } = 40; /// /// Pass true to drop all pending updates /// public bool DropPendingUpdates { get; set; } /// public string[]? Args { get; init; } /// public string? EnvironmentName { get; init; } /// public string? ApplicationName { get; init; } /// public string? ContentRootPath { get; init; } /// public string? WebRootPath { get; init; } internal WebApplicationOptions ToWebApplicationOptions() => new WebApplicationOptions() { ApplicationName = ApplicationName, Args = Args, ContentRootPath = ContentRootPath, EnvironmentName = EnvironmentName, WebRootPath = WebRootPath }; } }