Files
BotPages/BotPages.Core/Transport/IChatClient.cs

27 lines
1.4 KiB
C#

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