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