namespace BotPages.Core
{
///
/// Middleware обработки ошибок для надёжности.
///
public sealed class ErrorHandlingMiddleware : IUpdateMiddleware
{
///
/// Перехватывает исключения и отправляет сообщение об ошибке пользователю.
///
public async Task InvokeAsync(UpdateContext ctx, Func next, CancellationToken ct)
{
try
{
await next();
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex}");
await ctx.Client.SendTextAsync(ctx.Chat.Id, "Произошла ошибка. Попробуйте ещё раз. /start", null, ct);
}
}
}
}