mirror of
https://github.com/Equicord/Equicord.git
synced 2025-06-29 00:14:23 -04:00
FakeNitro: fix crash when embed.url is undefined (#3510)
This commit is contained in:
parent
658a62860e
commit
9b24535d44
1 changed files with 27 additions and 21 deletions
|
@ -671,24 +671,27 @@ export default definePlugin({
|
|||
},
|
||||
|
||||
shouldIgnoreEmbed(embed: Message["embeds"][number], message: Message) {
|
||||
try {
|
||||
const contentItems = message.content.split(/\s/);
|
||||
if (contentItems.length > 1 && !settings.store.transformCompoundSentence) return false;
|
||||
|
||||
switch (embed.type) {
|
||||
case "image": {
|
||||
const url = embed.url ?? embed.image?.url;
|
||||
if (!url) return false;
|
||||
if (
|
||||
!settings.store.transformCompoundSentence
|
||||
&& !contentItems.some(item => item === embed.url! || item.match(hyperLinkRegex)?.[1] === embed.url!)
|
||||
&& !contentItems.some(item => item === url || item.match(hyperLinkRegex)?.[1] === url)
|
||||
) return false;
|
||||
|
||||
if (settings.store.transformEmojis) {
|
||||
if (fakeNitroEmojiRegex.test(embed.url!)) return true;
|
||||
if (fakeNitroEmojiRegex.test(url)) return true;
|
||||
}
|
||||
|
||||
if (settings.store.transformStickers) {
|
||||
if (fakeNitroStickerRegex.test(embed.url!)) return true;
|
||||
if (fakeNitroStickerRegex.test(url)) return true;
|
||||
|
||||
const gifMatch = embed.url!.match(fakeNitroGifStickerRegex);
|
||||
const gifMatch = url.match(fakeNitroGifStickerRegex);
|
||||
if (gifMatch) {
|
||||
// There is no way to differentiate a regular gif attachment from a fake nitro animated sticker, so we check if the StickerStore contains the id of the fake sticker
|
||||
if (StickerStore.getStickerById(gifMatch[1])) return true;
|
||||
|
@ -698,6 +701,9 @@ export default definePlugin({
|
|||
break;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
new Logger("FakeNitro").error("Error in shouldIgnoreEmbed:", e);
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue