From ad38dc6c8ecbd8494eab8a75352e324d4a4866e5 Mon Sep 17 00:00:00 2001
From: thororen1234 <78185467+thororen1234@users.noreply.github.com>
Date: Sat, 16 Aug 2025 19:09:23 -0400
Subject: [PATCH] EquicordHelper: Move Enable/Disable Buttons
---
src/equicordplugins/equicordHelper/index.tsx | 51 ++++++++++++++++++--
src/plugins/_core/supportHelper.tsx | 33 -------------
2 files changed, 48 insertions(+), 36 deletions(-)
diff --git a/src/equicordplugins/equicordHelper/index.tsx b/src/equicordplugins/equicordHelper/index.tsx
index 1c4bfd7eb..953340376 100644
--- a/src/equicordplugins/equicordHelper/index.tsx
+++ b/src/equicordplugins/equicordHelper/index.tsx
@@ -18,9 +18,13 @@
import "@equicordplugins/_misc/styles.css";
-import { EquicordDevs } from "@utils/constants";
+import { EQUCORD_HELPERS, EquicordDevs, GUILD_ID } from "@utils/constants";
+import { Logger } from "@utils/Logger";
import definePlugin from "@utils/types";
-import { Forms } from "@webpack/common";
+import { Button, ChannelStore, Flex, Forms, GuildMemberStore, showToast, Toasts } from "@webpack/common";
+import { JSX } from "react";
+
+import { toggleEnabled } from "./utils";
export default definePlugin({
@@ -55,5 +59,46 @@ export default definePlugin({
}
]
}
- ]
+ ],
+ renderMessageAccessory(props) {
+ const buttons = [] as JSX.Element[];
+
+ const equicordSupport = GuildMemberStore.getMember(GUILD_ID, props.message.author.id)?.roles?.includes(EQUCORD_HELPERS);
+
+ const msg = props.message.content?.toLowerCase() ?? "";
+
+ const contentWords = (msg.match(/`\w+`/g) ?? []).map(e => e.slice(1, -1));
+ const matchedPlugins = Object.keys(Vencord.Plugins.plugins).filter(name => contentWords.includes(name.toLowerCase()));
+ const matchedPlugin = matchedPlugins.sort((a, b) => b.length - a.length)[0];
+ const pluginData = matchedPlugin && Vencord.Plugins.plugins[matchedPlugin];
+ const equicordGuild = ChannelStore.getChannel(props.channel.id)?.guild_id === GUILD_ID;
+ const ableCheck = msg.startsWith("enable") || msg.startsWith("disable");
+ const shouldAddPluginButtons = equicordGuild && equicordSupport && matchedPlugin && pluginData && ableCheck;
+
+ if (shouldAddPluginButtons) {
+ if (pluginData.required || pluginData.name.endsWith("API")) return;
+ const isEnabled = Vencord.Plugins.isPluginEnabled(matchedPlugin);
+ buttons.push(
+
+ );
+ }
+
+ return buttons.length
+ ? {buttons}
+ : null;
+ }
});
diff --git a/src/plugins/_core/supportHelper.tsx b/src/plugins/_core/supportHelper.tsx
index a3d28adc3..44caef2a5 100644
--- a/src/plugins/_core/supportHelper.tsx
+++ b/src/plugins/_core/supportHelper.tsx
@@ -22,7 +22,6 @@ import ErrorBoundary from "@components/ErrorBoundary";
import { Flex } from "@components/Flex";
import { Link } from "@components/Link";
import { openUpdaterModal } from "@components/settings/tabs/updater";
-import { toggleEnabled } from "@equicordplugins/equicordHelper/utils";
import { CONTRIB_ROLE_ID, Devs, DONOR_ROLE_ID, EQUCORD_HELPERS, EQUIBOP_CONTRIB_ROLE_ID, EQUICORD_TEAM, GUILD_ID, SUPPORT_CHANNEL_ID, SUPPORT_CHANNEL_IDS, VC_CONTRIB_ROLE_ID, VC_DONOR_ROLE_ID, VC_GUILD_ID, VC_REGULAR_ROLE_ID, VC_SUPPORT_CHANNEL_IDS, VENCORD_CONTRIB_ROLE_ID } from "@utils/constants";
import { sendMessage } from "@utils/discord";
import { Logger } from "@utils/Logger";
@@ -322,16 +321,6 @@ export default definePlugin({
&& ((props.channel.id === SUPPORT_CHANNEL_ID && equicordSupport))
&& props.message.content?.includes("update");
- const msg = props.message.content?.toLowerCase() ?? "";
-
- const contentWords = (msg.match(/`\w+`/g) ?? []).map(e => e.slice(1, -1));
- const matchedPlugins = Object.keys(Vencord.Plugins.plugins).filter(name => contentWords.includes(name.toLowerCase()));
- const matchedPlugin = matchedPlugins.sort((a, b) => b.length - a.length)[0];
- const pluginData = matchedPlugin && Vencord.Plugins.plugins[matchedPlugin];
- const equicordGuild = ChannelStore.getChannel(props.channel.id)?.guild_id === GUILD_ID;
- const ableCheck = msg.startsWith("enable") || msg.startsWith("disable");
- const shouldAddPluginButtons = equicordGuild && equicordSupport && matchedPlugin && pluginData && ableCheck;
-
if (shouldAddUpdateButton) {
buttons.push(
- );
- }
-
if (props.channel.id === SUPPORT_CHANNEL_ID && PermissionStore.can(PermissionsBits.SEND_MESSAGES, props.channel)) {
if (props.message.content.includes("/equicord-debug") || props.message.content.includes("/equicord-plugins")) {
buttons.push(