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