using BotPages.Core; using BotPages.Core.Logging; using BotPages.Core.Middleware; using BotPages.Core.Storage; using BotPages.Telegram; using Demo.Pages; namespace Demo { internal class Program { public static async Task Main(string[] args) { var token = Environment.GetEnvironmentVariable("TELEGRAM_TOKEN") ?? throw new InvalidOperationException("TELEGRAM_TOKEN not set"); var logger = new ConsoleLogger(); var state = new InMemoryStateStorage(); using var cts = new CancellationTokenSource(); var app = new BotPagesApp(state, logger) .AddDefaultPage() .MapCommand("/start") .AddMiddleware(new ErrorHandlingMiddleware(logger)) .AddMiddleware(new LoggingMiddleware(logger)) .AddTelegramAdapter(token, "Telegram") .Build(cts.Token); Console.ReadKey(); cts.Cancel(); } } }