namespace BotPages.Core
{
///
/// Универсальный клиент для отправки сообщений и файлов в чат.
/// Адаптеры реализуют этот интерфейс.
///
public interface IChatClient
{
///
/// Идентификатор клиента.
///
string Id { get; init; }
///
/// Отправляет текстовое сообщение.
/// Может сопровождаться клавиатурой (inline или reply).
///
/// Идентификатор чата.
/// Сообщение.
/// Кнопки для отображения (опционально).
/// Токен отмены.
Task SendTextAsync(long chatId, PageMessage message, IEnumerable? actions, CancellationToken ct);
///
/// Отправляет файлы в чат.
///
/// Идентификатор чата.
/// Файлы для отправки.
/// Токен отмены.
Task SendFilesAsync(long chatId, IEnumerable files, CancellationToken ct);
}
}