28 lines
1.0 KiB
C#
28 lines
1.0 KiB
C#
namespace BotPages.Core
|
||
{
|
||
/// <summary>
|
||
/// Контракт страницы: экран диалога с жизненным циклом.
|
||
/// </summary>
|
||
public interface IPage
|
||
{
|
||
/// <summary>
|
||
/// Статический идентификатор страницы.
|
||
/// </summary>
|
||
string Id { get; }
|
||
|
||
/// <summary>
|
||
/// Вызывается при входе на страницу (рендер, приветствие).
|
||
/// </summary>
|
||
Task<PageResult> EnterAsync(UpdateContext ctx, CancellationToken ct);
|
||
|
||
/// <summary>
|
||
/// Обработка входящего события/сообщения на странице.
|
||
/// </summary>
|
||
Task<PageResult> HandleAsync(UpdateContext ctx, CancellationToken ct);
|
||
|
||
/// <summary>
|
||
/// Вызывается при выходе со страницы (очистка, финализация).
|
||
/// </summary>
|
||
Task ExitAsync(UpdateContext ctx, CancellationToken ct);
|
||
}
|
||
} |