namespace BotPages.Core.Abstractions; /// /// Описание файла, полученного или отправляемого через мессенджер. /// public sealed class FileDescriptor { /// Идентификатор файла в мессенджере. public required string Id { get; init; } /// Имя файла. public required string Name { get; init; } /// Расширение файла. public required string Extension { get; init; } /// Размер файла в байтах. public long Size { get; init; } /// MIME-тип файла. public string? Mime { get; init; } /// Тип файла. public FileKind Kind { get; init; } = FileKind.Document; /// Функция получения потока файла. public Func> GetStreamAsync { get; init; } = _ => Task.FromResult(Stream.Null); }