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