This commit is contained in:
42
BotPages.Core/Abstractions/IMessengerAdapter.cs
Normal file
42
BotPages.Core/Abstractions/IMessengerAdapter.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using BotPages.Core.Messaging;
|
||||
|
||||
namespace BotPages.Core.Abstractions;
|
||||
|
||||
/// <summary>
|
||||
/// Контракт адаптера мессенджера.
|
||||
/// Определяет операции отправки сообщений, файлов и прогресса.
|
||||
/// </summary>
|
||||
public interface IMessengerAdapter
|
||||
{
|
||||
/// <summary>
|
||||
/// Отправить текстовое сообщение в чат.
|
||||
/// </summary>
|
||||
Task SendTextAsync(PageContext ctx, string text, MessageFormat format,
|
||||
IEnumerable<IEnumerable<InlineButton>>? inline,
|
||||
IEnumerable<IEnumerable<ReplyButton>>? reply, CancellationToken ct);
|
||||
|
||||
/// <summary>
|
||||
/// Отправить файл в чат.
|
||||
/// </summary>
|
||||
Task SendFileAsync(PageContext ctx, FileDescriptor file, string? caption, CancellationToken ct);
|
||||
|
||||
/// <summary>
|
||||
/// Создать билдер альбома для отправки медиагруппы.
|
||||
/// </summary>
|
||||
IAlbumBuilder CreateAlbumBuilder(PageContext ctx);
|
||||
|
||||
/// <summary>
|
||||
/// Начать отображение прогресса операции.
|
||||
/// </summary>
|
||||
Task<string?> StartProgressAsync(PageContext ctx, string title, CancellationToken ct);
|
||||
|
||||
/// <summary>
|
||||
/// Обновить прогресс операции.
|
||||
/// </summary>
|
||||
Task UpdateProgressAsync(PageContext ctx, string messageId, string title, int percent, CancellationToken ct);
|
||||
|
||||
/// <summary>
|
||||
/// Вызывается при выходе со страницы.
|
||||
/// </summary>
|
||||
Task OnLeaveAsync(PageContext ctx, CancellationToken ct);
|
||||
}
|
||||
Reference in New Issue
Block a user