фикс ребута бота при аварийной остановке

This commit is contained in:
Professional 2025-03-12 19:11:38 +07:00
parent 33a881539f
commit d4be39b15e

View File

@ -18,7 +18,7 @@ class Program
{ {
// Загружаем конфигурацию из appsettings.json // Загружаем конфигурацию из appsettings.json
var config = new ConfigurationBuilder() var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory()) .SetBasePath(AppContext.BaseDirectory) // <-- Используем правильный путь
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.Build(); .Build();
@ -36,9 +36,10 @@ class Program
var me = await _botClient.GetMe(); var me = await _botClient.GetMe();
Log.Information($"Бот {me.FirstName} запущен!"); Log.Information($"Бот {me.FirstName} запущен!");
_botClient.StartReceiving(HandleUpdateAsync, HandleErrorAsync); var cts = new CancellationTokenSource();
_botClient.StartReceiving(HandleUpdateAsync, HandleErrorAsync, cancellationToken: cts.Token);
Console.ReadLine(); await Task.Delay(-1); // <-- Заменяем Console.ReadLine()
} }
private static async Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken) private static async Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken)
@ -72,6 +73,7 @@ class Program
} }
} }
private static Task HandleErrorAsync(ITelegramBotClient botClient, Exception exception, CancellationToken cancellationToken) private static Task HandleErrorAsync(ITelegramBotClient botClient, Exception exception, CancellationToken cancellationToken)
{ {
Log.Error($"Ошибка: {exception.Message}"); Log.Error($"Ошибка: {exception.Message}");