From 677fe757733ab4af327ba74d047195be7d578e60 Mon Sep 17 00:00:00 2001 From: Rory& Date: Sun, 17 Mar 2024 13:30:38 +0100 Subject: Bot related fixes, image size --- LibMatrix/Homeservers/AuthenticatedHomeserverGeneric.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'LibMatrix/Homeservers') diff --git a/LibMatrix/Homeservers/AuthenticatedHomeserverGeneric.cs b/LibMatrix/Homeservers/AuthenticatedHomeserverGeneric.cs index b4c1cc9..4f3bb41 100644 --- a/LibMatrix/Homeservers/AuthenticatedHomeserverGeneric.cs +++ b/LibMatrix/Homeservers/AuthenticatedHomeserverGeneric.cs @@ -76,6 +76,15 @@ public class AuthenticatedHomeserverGeneric(string serverName, string accessToke return rooms; } + public virtual async Task UploadFile(string fileName, IEnumerable data, string contentType = "application/octet-stream") { + return await UploadFile(fileName, data.ToArray(), contentType); + } + + public virtual async Task UploadFile(string fileName, byte[] data, string contentType = "application/octet-stream") { + await using var ms = new MemoryStream(data); + return await UploadFile(fileName, ms, contentType); + } + public virtual async Task UploadFile(string fileName, Stream fileStream, string contentType = "application/octet-stream") { var req = new HttpRequestMessage(HttpMethod.Post, $"/_matrix/media/v3/upload?filename={fileName}"); req.Content = new StreamContent(fileStream); @@ -320,13 +329,13 @@ public class AuthenticatedHomeserverGeneric(string serverName, string accessToke filter.Room?.Timeline?.Senders, filter.Room?.Timeline?.NotSenders ]; - + foreach (var list in senderLists) if (list is { Count: > 0 } && list.Contains("@me")) { list.Remove("@me"); list.Add(UserId); } - + var resp = await ClientHttpClient.PostAsJsonAsync("/_matrix/client/v3/user/" + UserId + "/filter", filter); return await resp.Content.ReadFromJsonAsync() ?? throw new Exception("Failed to upload filter?"); } -- cgit 1.4.1