feat: respect guild boost file size limit when re-sending attachments
This commit is contained in:
@@ -146,6 +146,7 @@ namespace PluralKit.Bot
|
||||
var messageChannel = _cache.GetChannel(trigger.ChannelId);
|
||||
var rootChannel = _cache.GetRootChannel(trigger.ChannelId);
|
||||
var threadId = messageChannel.IsThread() ? messageChannel.Id : (ulong?)null;
|
||||
var guild = _cache.GetGuild(trigger.GuildId.Value);
|
||||
|
||||
var proxyMessage = await _webhookExecutor.ExecuteWebhook(new ProxyRequest
|
||||
{
|
||||
@@ -156,6 +157,7 @@ namespace PluralKit.Bot
|
||||
AvatarUrl = AvatarUtils.TryRewriteCdnUrl(match.Member.ProxyAvatar(ctx)),
|
||||
Content = content,
|
||||
Attachments = trigger.Attachments,
|
||||
FileSizeLimit = guild.FileSizeLimit(),
|
||||
Embeds = embeds.ToArray(),
|
||||
AllowEveryone = allowEveryone,
|
||||
});
|
||||
|
||||
@@ -40,6 +40,7 @@ namespace PluralKit.Bot
|
||||
public string? AvatarUrl { get; init; }
|
||||
public string? Content { get; init; }
|
||||
public Message.Attachment[] Attachments { get; init; }
|
||||
public int FileSizeLimit { get; init; }
|
||||
public Embed[] Embeds { get; init; }
|
||||
public bool AllowEveryone { get; init; }
|
||||
}
|
||||
@@ -122,7 +123,7 @@ namespace PluralKit.Bot
|
||||
};
|
||||
|
||||
MultipartFile[] files = null;
|
||||
var attachmentChunks = ChunkAttachmentsOrThrow(req.Attachments, 8 * 1024 * 1024);
|
||||
var attachmentChunks = ChunkAttachmentsOrThrow(req.Attachments, req.FileSizeLimit * 1024 * 1024);
|
||||
if (attachmentChunks.Count > 0)
|
||||
{
|
||||
_logger.Information("Invoking webhook with {AttachmentCount} attachments totalling {AttachmentSize} MiB in {AttachmentChunks} chunks",
|
||||
|
||||
Reference in New Issue
Block a user