using BotPages.Core.Abstractions; using BotPages.Core.Context; namespace BotPages.Core; /// /// Базовый класс страницы. /// public abstract class Page { /// Вход на страницу. public virtual Task OnEnter(PageContext ctx, CancellationToken ct) => Task.CompletedTask; /// Общий обработчик обновлений. public virtual Task OnUpdate(PageContext ctx, UpdateContext update, CancellationToken ct) => Task.CompletedTask; /// Обработка текста. public virtual Task OnText(PageContext ctx, string text, CancellationToken ct) => Task.CompletedTask; /// Обработка файлов. public virtual Task OnFile(PageContext ctx, List files, CancellationToken ct) => Task.CompletedTask; /// Обработка кнопки. public virtual Task OnButton(PageContext ctx, string payload, CancellationToken ct) => Task.CompletedTask; /// Выход со страницы. public virtual Task OnLeave(PageContext ctx, CancellationToken ct) => Task.CompletedTask; /// Таймаут бездействия. public virtual Task OnTimeout(PageContext ctx, TimeSpan timeout, CancellationToken ct) => Task.CompletedTask; /// Обработка ошибок. public virtual Task OnError(PageContext ctx, Exception ex, CancellationToken ct) => Task.CompletedTask; }