Fix voice message forwarding and playback
This commit is contained in:
@@ -32,6 +32,14 @@ public interface IMaxBridgeClient
|
||||
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);
|
||||
|
||||
@@ -106,6 +106,15 @@ public sealed class MockMaxBridgeClient : IMaxBridgeClient
|
||||
return Task.FromResult(new MaxSendResult(true, $"mock-file-{Guid.NewGuid():N}", null, MockChatUrl(externalChatId)));
|
||||
}
|
||||
|
||||
public Task<MaxSendResult> ForwardMessageAsync(
|
||||
string externalChatId,
|
||||
string sourceExternalChatId,
|
||||
string sourceExternalMessageId,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
return Task.FromResult(new MaxSendResult(true, $"mock-forward-{Guid.NewGuid():N}", null, MockChatUrl(externalChatId)));
|
||||
}
|
||||
|
||||
public Task<MaxActionResult> EditMessageAsync(string externalChatId, string externalMessageId, string? currentText, string text, CancellationToken cancellationToken)
|
||||
{
|
||||
return Task.FromResult(new MaxActionResult(true, null));
|
||||
|
||||
@@ -132,6 +132,20 @@ public sealed class WorkerMaxBridgeClient(
|
||||
?? new MaxSendResult(false, null, "Worker returned an empty attachment result.");
|
||||
}
|
||||
|
||||
public async Task<MaxSendResult> ForwardMessageAsync(
|
||||
string externalChatId,
|
||||
string sourceExternalChatId,
|
||||
string sourceExternalMessageId,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
return await SendAsync<MaxSendResult>(
|
||||
HttpMethod.Post,
|
||||
"/message/forward",
|
||||
new { externalChatId, sourceExternalChatId, sourceExternalMessageId },
|
||||
cancellationToken)
|
||||
?? new MaxSendResult(false, null, "Worker returned an empty forward result.");
|
||||
}
|
||||
|
||||
public async Task<MaxActionResult> EditMessageAsync(string externalChatId, string externalMessageId, string? currentText, string text, CancellationToken cancellationToken)
|
||||
{
|
||||
return await SendAsync<MaxActionResult>(
|
||||
|
||||
Reference in New Issue
Block a user