namespace BotPages.Core
{
///
/// Универсальный контекст обновления, независимый от транспорта.
///
public sealed class UpdateContext
{
///
/// Клиент транспорта для отправки сообщений/файлов.
///
public required IChatClient Client { get; init; }
///
/// Контекст чата.
///
public required ChatContext Chat { get; init; }
///
/// Контекст пользователя.
///
public required UserContext User { get; init; }
///
/// Текст сообщения или полезная нагрузка колбэка, если доступна.
///
public string? Text { get; init; }
///
/// Список полученных файлов (если транспорт поддерживает).
///
public IReadOnlyList? IncomingFiles { get; init; }
///
/// Сырой объект обновления транспорта (например, Telegram.Update).
///
public object? RawUpdate { get; init; }
///
/// Сервис навигации страниц.
///
public required INavigationService Nav { get; init; }
///
/// Хранилище состояния пользователя.
///
public required IStateStore State { get; init; }
}
}