using BotPages.Core.Messaging; namespace BotPages.Core.Abstractions; /// /// Универсальная структура запроса на отправку сообщения/файла, используемая адаптерами. /// Помещена в Core чтобы быть доступной для всех адаптеров. /// public sealed class SendRequest { /// Идентификатор чата/сессии в мессенджере. public required string ChatId { get; init; } /// Текст сообщения (если отправляется текст). public string? Text { get; init; } /// Формат текста (HTML/Markdown/Plain). public MessageFormat? TextFormat { get; init; } /// Inline кнопки (строки кнопок). public IEnumerable>? Inline { get; init; } /// Reply клавиатура (строки кнопок). public IEnumerable>? Reply { get; init; } /// Id редактируемого сообщения (если редактируем). public string? MessageId { get; init; } /// Файл для отправки (если отправляется файл). public FileDescriptor? File { get; init; } /// Подпись для файла. public string? Caption { get; init; } /// Формат подписи/подписи для файла. public MessageFormat? CaptionFormat { get; init; } /// /// Контейнер адаптер-специфичных опций. /// Содержит имена/ключи адаптеров и соответствующие объекты опций. /// public AdapterOptionsBag? AdapterOptions { get; init; } }