Доработано управление жизненным циклом
This commit is contained in:
@@ -17,7 +17,6 @@ namespace Demo
|
||||
|
||||
var logger = new ConsoleLogger();
|
||||
var state = new InMemoryStateStorage();
|
||||
using var cts = new CancellationTokenSource();
|
||||
|
||||
// Можно использовать команды для открытия страниц с роутингом
|
||||
// /open Welcome
|
||||
@@ -48,19 +47,20 @@ namespace Demo
|
||||
.AutoMapRoute()
|
||||
.AddMiddleware(new ErrorHandlingMiddleware(logger))
|
||||
.AddMiddleware(new LoggingMiddleware(logger))
|
||||
.AddTelegramAdapter(token, "Telegram")
|
||||
.Build(cts.Token);
|
||||
.AddTelegramAdapter(token, "Telegram");
|
||||
|
||||
await app.RunAsync();
|
||||
|
||||
logger.Log(LogLevel.Info, "Bot is running. Press Ctrl+C to stop.");
|
||||
|
||||
Console.WriteLine("Bot is running. Press Ctrl+C to stop.");
|
||||
Console.CancelKeyPress += (sender, e) =>
|
||||
{
|
||||
Console.WriteLine("Cancel key pressed");
|
||||
cts.Cancel();
|
||||
app.Stop();
|
||||
e.Cancel = true;
|
||||
};
|
||||
|
||||
app.Wait();
|
||||
await app.WaitAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user