58 lines
3.8 KiB
C#
58 lines
3.8 KiB
C#
namespace QMax.Api.Infrastructure.Max;
|
|
|
|
public interface IMaxBridgeClient
|
|
{
|
|
Task<MaxBridgeStatus> GetStatusAsync(CancellationToken cancellationToken);
|
|
Task<MaxBridgeStatus> BeginPhoneLoginAsync(string phoneNumber, CancellationToken cancellationToken);
|
|
Task<MaxBridgeStatus> BeginNewPhoneLoginAsync(string phoneNumber, CancellationToken cancellationToken) =>
|
|
BeginPhoneLoginAsync(phoneNumber, cancellationToken);
|
|
Task<MaxBridgeStatus> SubmitLoginCodeAsync(string code, CancellationToken cancellationToken);
|
|
Task<MaxBrowserSnapshot> GetSnapshotAsync(CancellationToken cancellationToken);
|
|
Task<IReadOnlyList<MaxChatUpdate>> FetchUpdatesAsync(CancellationToken cancellationToken);
|
|
Task<IReadOnlyList<MaxContact>> FetchContactsAsync(CancellationToken cancellationToken)
|
|
{
|
|
return Task.FromResult<IReadOnlyList<MaxContact>>(Array.Empty<MaxContact>());
|
|
}
|
|
Task<IReadOnlyList<MaxContact>> ImportContactsAsync(IReadOnlyList<MaxPhoneContact> contacts, CancellationToken cancellationToken)
|
|
{
|
|
return Task.FromResult<IReadOnlyList<MaxContact>>(Array.Empty<MaxContact>());
|
|
}
|
|
Task<MaxContact?> AddContactAsync(string userId, CancellationToken cancellationToken)
|
|
{
|
|
return Task.FromResult<MaxContact?>(null);
|
|
}
|
|
Task<MaxActionResult> RemoveContactAsync(string userId, CancellationToken cancellationToken)
|
|
{
|
|
return Task.FromResult(new MaxActionResult(false, "Contact removal is not supported."));
|
|
}
|
|
Task<MaxChatUpdate?> FetchChatHistoryAsync(string externalChatId, string? chatUrl, CancellationToken cancellationToken);
|
|
Task<MaxChatPresence?> FetchChatPresenceAsync(string externalChatId, string? chatUrl, CancellationToken cancellationToken);
|
|
Task<MaxChatUrlResult> ResolveChatUrlAsync(string externalChatId, CancellationToken cancellationToken);
|
|
Task<MaxActionResult> ClearChatHistoryAsync(string externalChatId, string? chatUrl, CancellationToken cancellationToken);
|
|
Task<MaxActionResult> DeleteChatAsync(string externalChatId, string? chatUrl, CancellationToken cancellationToken);
|
|
Task<MaxSendResult> SendTextAsync(string externalChatId, string? chatUrl, string text, CancellationToken cancellationToken);
|
|
Task<MaxSendResult> SendAttachmentAsync(string externalChatId, string? chatUrl, string path, string caption, CancellationToken cancellationToken);
|
|
Task<MaxSendResult> ForwardMessageAsync(
|
|
string externalChatId,
|
|
string sourceExternalChatId,
|
|
string sourceExternalMessageId,
|
|
CancellationToken cancellationToken)
|
|
{
|
|
return Task.FromResult(new MaxSendResult(false, null, "Native forwarding is not supported."));
|
|
}
|
|
Task<MaxActionResult> EditMessageAsync(string externalChatId, string externalMessageId, string? currentText, string text, CancellationToken cancellationToken);
|
|
Task<MaxActionResult> DeleteMessageAsync(string externalChatId, string externalMessageId, string? currentText, CancellationToken cancellationToken);
|
|
Task<MaxActionResult> SetReactionAsync(string externalChatId, string externalMessageId, string? currentText, string emoji, CancellationToken cancellationToken);
|
|
Task<MaxActionResult> ClearReactionAsync(string externalChatId, string externalMessageId, string? currentText, string emoji, CancellationToken cancellationToken);
|
|
Task<MaxMediaDownload?> DownloadMediaAsync(string remoteUrl, CancellationToken cancellationToken);
|
|
Task<IReadOnlyList<MaxChannelSearchResult>> SearchChannelsAsync(string query, CancellationToken cancellationToken)
|
|
{
|
|
return Task.FromResult<IReadOnlyList<MaxChannelSearchResult>>(Array.Empty<MaxChannelSearchResult>());
|
|
}
|
|
|
|
Task<MaxChatUpdate?> JoinChannelAsync(string link, CancellationToken cancellationToken)
|
|
{
|
|
return Task.FromResult<MaxChatUpdate?>(null);
|
|
}
|
|
}
|