32 lines
1.5 KiB
C#
32 lines
1.5 KiB
C#
namespace BotPages.Core
|
|
{
|
|
/// <summary>
|
|
/// Универсальный клиент для отправки сообщений и файлов в чат.
|
|
/// Адаптеры реализуют этот интерфейс.
|
|
/// </summary>
|
|
public interface IChatClient
|
|
{
|
|
/// <summary>
|
|
/// Идентификатор клиента.
|
|
/// </summary>
|
|
string Id { get; init; }
|
|
|
|
/// <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);
|
|
}
|
|
} |