From 43011825afcb9d69582b6301750799db57f5074f Mon Sep 17 00:00:00 2001 From: TheKodeToad Date: Wed, 31 May 2023 17:47:32 +0100 Subject: [PATCH] Add NoProfileThemes plugin (#1193) Co-authored-by: V --- src/plugins/noProfileThemes.ts | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/plugins/noProfileThemes.ts diff --git a/src/plugins/noProfileThemes.ts b/src/plugins/noProfileThemes.ts new file mode 100644 index 00000000..97d195e3 --- /dev/null +++ b/src/plugins/noProfileThemes.ts @@ -0,0 +1,53 @@ +/* + * Vencord, a modification for Discord's desktop app + * Copyright (c) 2023 Vendicated and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +import { Devs } from "@utils/constants"; +import definePlugin from "@utils/types"; + +export default definePlugin({ + name: "NoProfileThemes", + description: "Completely removes Nitro profile themes", + authors: [Devs.TheKodeToad], + patches: [ + { + find: ".NITRO_BANNER,", + replacement: { + // = isPremiumAtLeast(user.premiumType, TIER_2) + match: /=(?=\i\.\i\.isPremiumAtLeast\(null==(\i))/, + // = user.banner && isPremiumAtLeast(user.premiumType, TIER_2) + replace: "=$1?.banner&&" + } + }, + { + find: "().avatarPositionPremiumNoBanner,default:", + replacement: { + // premiumUserWithoutBanner: foo().avatarPositionPremiumNoBanner, default: foo().avatarPositionNormal + match: /\.avatarPositionPremiumNoBanner(?=,default:\i\(\)\.(\i))/, + // premiumUserWithoutBanner: foo().avatarPositionNormal... + replace: ".$1" + } + }, + { + find: ".hasThemeColors=function(){", + replacement: { + match: /(?<=key:"canUsePremiumProfileCustomization",get:function\(\){return)/, + replace: " false;" + } + } + ] +});