mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-04 04:56:49 +00:00
fix(bot): filter out non-rich Discord embeds in reproxy (#476)
This commit is contained in:
parent
62a57bc818
commit
fcd1ec486e
1 changed files with 8 additions and 2 deletions
|
|
@ -229,7 +229,7 @@ public class ProxyService
|
|||
throw new PKError("You don't have permission to send messages in the channel that message is in.");
|
||||
|
||||
// Mangle embeds (for reply embed color changing)
|
||||
var mangledEmbeds = originalMsg.Embeds!.Select(embed => MangleReproxyEmbed(embed, member)).ToArray();
|
||||
var mangledEmbeds = originalMsg.Embeds!.Select(embed => MangleReproxyEmbed(embed, member)).Where(embed => embed != null).ToArray();
|
||||
|
||||
// Send the reproxied webhook
|
||||
var proxyMessage = await _webhookExecutor.ExecuteWebhook(new ProxyRequest
|
||||
|
|
@ -271,7 +271,7 @@ public class ProxyService
|
|||
}
|
||||
}
|
||||
|
||||
private Embed MangleReproxyEmbed(Embed embed, ProxyMember member)
|
||||
private Embed? MangleReproxyEmbed(Embed embed, ProxyMember member)
|
||||
{
|
||||
// XXX: This is a naïve implementation of detecting reply embeds: looking for the same Unicode
|
||||
// characters as used in the reply embed generation, since we don't _really_ have a good way
|
||||
|
|
@ -290,6 +290,12 @@ public class ProxyService
|
|||
};
|
||||
}
|
||||
|
||||
// XXX: remove non-rich embeds as including them breaks link embeds completely
|
||||
else if (embed.Type != "rich")
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return embed;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue